xsl-list
[Top] [All Lists]

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

2007-03-29 14:04:30
 
What you said works great. except that it outputs <testnode
att1="1,2,3,4" att2="a'b'c'd' /> 4 times instead of one
I want it to output only once.
In the whole xslt file that I have I am using your idea with the only
change of <xsl:template match="//testnode"> instead
of match="/"

PS:This is my second day into XSL and I am going thru the tutorials also
but I have to finish this XSL thing today. Bear
with me :)



-----Original Message-----
From: Abel Braaksma [mailto:abel(_dot_)online(_at_)xs4all(_dot_)nl] 
Sent: Thursday, March 29, 2007 4:47 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] concatenate multiple attribute values and assign it
to another attribute

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



-----------------------------------------
The information contained in this transmission may be privileged and
co
tial and is intended only for the use of the person(s) named
above. If you are not the intended recipient, or an employee or agent 
responsible
for delivering this message to the intended recipient, any review, 
dissemination,
distribution or duplication of this communication is strictly prohibited. If 
you are
not the intended recipient, please contact the sender immediately by reply 
e-mail
and destroy all copies of the original message. Please note that we do not 
accept
account orders and/or instructions by e-mail, and therefore will not be 
responsible
for carrying out such orders and/or instructions.  If you, as the intended 
recipient
of this message, the purpose of which is to inform and update our clients, 
prospects
and consultants of developments relating to our services and products, would not
like to receive further e-mail correspondence from the sender, please "reply" 
to the
sender indicating your wishes.  In the U.S.: 1345 Avenue of the Americas, New 
York,
NY 10105.


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