[xsl] Setting name attribute of <xsl:attribute>

Subject: [xsl] Setting name attribute of <xsl:attribute>
From: "Witham, Darren (Contractor)" <withd2@xxxxxx>
Date: Fri, 10 Oct 2003 12:49:54 +0100

  I have what I hope is an easy issue to solve but my varying attempts to do so have not been successful. I have an xsl stylesheet which transforms some xml into another xml format.
  I only wish to generate XML in the output xml file if attributes in the src xml exist. At present I have a number of <xsl:if test......> directives to check if an attribute is present before processing.
  I would like to remove the need for the <xsl:if test......> and want to call a template to do the check and process if need be.....

  My template is 

        Helper template that only pushes out out XML if value of attribute to publish is not null 
    <xsl:template name="checkAttributeNotNull">
        <xsl:param name="attributeName"/>
        <xsl:param name="attributeValue"/>
        <xsl:if test="$attributeValue">
          <xsl:attribute name="{$attributeName}">
	      <xsl:value-of select="$attributeValue" />

 And I call if via :

<xsl:call-template name="checkAttributeNotNull">
     <xsl:with-param name="attributeName" select="anAttName"/>
     <xsl:with-param name="attributeValue" select="anAttValue"/>

  The problem I have is within the template I call.  I cannot seem to set the name of the attribute I am trying to create with the parameter 'attributeName'. ( i.e with <xsl:attribute name="{$attributeName}">)
 I have tried all sorts of combinations except for the correct one. I thought I could set this value at runtime ?????

Any pointers appreciated.




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread