xsl-list
[Top] [All Lists]

Re: [xsl] concatenate multiple attribute values and assign it to another attribute

2007-03-29 13:49:11
Shaikh, Parvez wrote:
<test node att1="1" att2="a" />
<test node att1="2" att2="b" />
<test node att1="3" att2="c" />
<test node att1="4" att2="d" />
I want to output this as

<testnode att1="1,2,3,4" att2="a,b,c,d" />
How do you do this.

Well, that won't change my original answer, here is it applied to your testdata:

<xsl:template match="/">
   <testnode>
      <xsl:attribute name="att1">
        <xsl:apply-template select="//test/@att1" />
      </xsl:attribute>
      <xsl:attribute name="att2">
        <xsl:apply-template select="//test/@att2" />
      </xsl:attribute>
    </testnode>
</xsl:template>

<xsl:template match="@att1 | @att2">
  <xsl:value-of select="." />
  <xsl:text>,</xsl:text>
</xsl:template>

<xsl:template match="@att1[last()] | @att2[last()]">
  <xsl:value-of select="." />
</xsl:template>


Good luck with coding,

Cheers,
-- Abel Braaksma




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--