[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: change a list of attribute name
Hello. Xiaocun Xu wrote: > I have a header which consisted of normal names such > as "Last Name". For each of these, I would like to > replace it with a valid XML attribute name such as > LastName. What would be the best way to do it? You may define a recursive template like this: <xsl:template name="DelSpaces"> <xsl:param name="source"/> <xsl:choose> <xsl:when test="not(contains($source,' '))"> <xsl:value-of select="$source"/> </xsl:when> <xsl:otherwise> <xsl:call-template name="DelSpaces"> <xsl:with-param name="source" select="concat(substring-before($source,' '), substring-after($source,' '))"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> and use it in the following way: <xsl:variable name="attrName"> <xsl:call-template name="DelSpaces"> <xsl:with-param name="source" select="..."/> </xsl:call-template> </xsl:variable> <xsl:attribute name="{$attrName}">...</xsl:attribute> But you should make sure that the value substituted for "source" does not contain (non-space) characters that are not allowed in attribute names. -- Alexander E. Gutman XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|