Subject: Re: [xsl] change a list of attribute name From: "Alexander Gutman" <gutman@xxxxxxxxxxxxxxx> Date: Fri, 3 Aug 2001 09:53:46 +0700 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] change a list of attribut, Xiaocun Xu | Thread | [xsl] Q on copying, Rosa I-Ting Cheng |
[xsl] change a list of attribute na, Xiaocun Xu | Date | [xsl] Q on copying, Rosa I-Ting Cheng |
Month |