xsl-list
[Top] [All Lists]

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

2007-03-29 14:08:12
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>

--~------------------------------------------------------------------
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>
--~--