[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Add order of nodes
This does not work as there may be other nodes between and before <fragment>. It might look like this and with your solution I get the wrong positions. > <doc> <foo/> > <fragment pos="3">...</fragment> > <fragment pos="4">...</fragment> <bar> .. </bar> > <fragment pos="11">...</fragment> > ... > </doc> -----Original Message----- From: Joris Gillis [mailto:roac@xxxxxxxxxx] Sent: Mittwoch, 9. Februar 2005 13:02 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: Add order of nodes Tempore 12:51:02, die 02/09/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Robert Soesemann <rsoesemann@xxxxxxxxxxx>: > <doc> > <fragment>...</fragment> > <fragment>...</fragment> > <fragment>...</fragment> > ... > </doc> > > I need a <xsl:template match="fragment"> that produces this output: > > <doc> > <fragment pos="1">...</fragment> > <fragment pos="2">...</fragment> > <fragment pos="3">...</fragment> > ... > </doc> > > Can I use position() for that? Yes indeed. use this tremplate: <xsl:template match="fragment"> <xsl:copy> <xsl:attribute name="pos"><xsl:value-of select="position()"/></xsl:attribute> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> (in conjunction with this template) <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> regards, -- Joris Gillis (http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=38041) "Et ipsa scientia potestas est" - Francis Bacon , Meditationes sacrae
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|