[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Abel Braaksma wrote:
Oops, I should correct myself here: this won't work of course, it is always true... sorry 'bout that. Here's another go, that is easier, it will output what you want (it would've been a one-liner in xslt 2.0):
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<test>
<xsl:attribute name="att1">
<xsl:apply-templates select="//test" >
<xsl:with-param name="att" select="'att1'" />
</xsl:apply-templates>
</xsl:attribute>
<xsl:attribute name="att2">
<xsl:apply-templates select="//test" >
<xsl:with-param name="att" select="'att2'" />
</xsl:apply-templates>
</xsl:attribute>
</test>
</xsl:template>
<xsl:template match="test[last()]">
<xsl:param name="att" />
<xsl:value-of select="@*[local-name() = $att]"/>
</xsl:template>
<xsl:template match="test">
<xsl:param name="att" />
<xsl:value-of select="@*[local-name() = $att]"/>
<xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
Re: [xsl] concatenate multiple attribute values and assign it to another attribute
Subject: Re: [xsl] concatenate multiple attribute values and assign it to another attribute From: Abel Braaksma <abel.online@xxxxxxxxx> Date: Thu, 29 Mar 2007 23:06:09 +0200 |
Abel Braaksma wrote:
<xsl:template match="@att1[last()] | @att2[last()]"> <xsl:value-of select="." /> </xsl:template>
Oops, I should correct myself here: this won't work of course, it is always true... sorry 'bout that. Here's another go, that is easier, it will output what you want (it would've been a one-liner in xslt 2.0):
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<test>
<xsl:attribute name="att1">
<xsl:apply-templates select="//test" >
<xsl:with-param name="att" select="'att1'" />
</xsl:apply-templates>
</xsl:attribute>
<xsl:attribute name="att2">
<xsl:apply-templates select="//test" >
<xsl:with-param name="att" select="'att2'" />
</xsl:apply-templates>
</xsl:attribute>
</test>
</xsl:template>
<xsl:template match="test[last()]">
<xsl:param name="att" />
<xsl:value-of select="@*[local-name() = $att]"/>
</xsl:template>
<xsl:template match="test">
<xsl:param name="att" />
<xsl:value-of select="@*[local-name() = $att]"/>
<xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] concatenate multiple attr, Shaikh, Parvez | Thread | RE: [xsl] concatenate multiple attr, Michael Kay |
RE: [xsl] concatenate multiple attr, Shaikh, Parvez | Date | [xsl] Unique node and delimiter con, Senthilkumaravelan K |
Month |
Keywords