Subject: RE: last attribute ? From: "Jarno Elovirta" <jarno@xxxxxxxxxxxxxx> Date: Tue, 26 Sep 2000 15:36:50 +0300 |
> In source there is element: > <test attrib1="test1" attrib2="test2" attrib3="test3">element</test> > > and I want attributes as: > > <testresult attributes="attrib1:test1, attrib2:test2, > attrib3:test3>element</testresult> > > Ok, my problem is that ',' comma there. I need to separate attributes from > each others using ',' but after last attribute (in this example > attrib3:test3) there should be no ','. And these attributes are > optional, so > there can be more attributes (e.g. attrib4=test4) and there are no any > specific order (attrib1 can come after attrib3). > > so how do I know if there is attributes left to handle in current element? Try [c:\temp]type test.xml <?xml version="1.0" encoding="ISO-8859-1"?> <test attrib1="test1" attrib2="test2" attrib3="test3">element</test> [c:\temp]type test.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" /> <xsl:template match="test"> <testresult> <xsl:attribute name="attributes"> <xsl:apply-templates select="@*"> <xsl:sort select="name()" /> </xsl:apply-templates> </xsl:attribute> <xsl:value-of select="." /> </testresult> </xsl:template> <xsl:template match="test/@*"> <xsl:value-of select="name()" /> <xsl:text>:</xsl:text> <xsl:value-of select="." /> <xsl:if test="not(position() = last())"> <xsl:text>, </xsl:text> </xsl:if> </xsl:template> </xsl:stylesheet> [c:\temp]saxon test.xml test.xsl <?xml version="1.0" encoding="utf-8"?><testresult attributes="attrib1:test1, attrib2:test2, attrib3:test3">element</testresult> Cheers, Jarno XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
last attribute ?, Jukka . T . Lehtinen | Thread | Re: last attribute ?, David Carlisle |
RE: last attribute ?, Kay Michael | Date | Re: last attribute ?, David Carlisle |
Month |