[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Keeping comments with relevant node when shorting nodes
Subject: [xsl] Keeping comments with relevant node when shorting nodes From: Mike Blake-Knox <mikebk824@xxxxxxxxx> Date: Thu, 13 Jan 2005 17:31:59 -0500 |
I have several XML files like the following: <!-- CNs--> <Ns> <!--CN1--> <N name="N1"> <Ms> <!--C1N3--> <M name="1N3"/> <!--C1N1--> <M name="1N1"/> <!--C1N2--> <M name="1N2"/> </Ms> </N> <!--CN2--> <N name="N2"> <Ms> <!--C2N2--> <M name="2N2"/> <!--C2N3--> <M name="2N3"/> <!--C2N1--> <M name="2N1"/> </Ms> </N> </Ns> I'd like to sort them while keeping comments with the nodes they refer to (e.g., keep <!--CN2--> with <M name="2N2"/>). I've tried the following xslt: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes" method="xml"/> <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="Ns"> <xsl:copy> <xsl:apply-templates select="comment()| N" > <xsl:sort select="@name"/> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet> It sorts fine but puts the comments for all the N nodes together at the top of the Ns element. I've played around with trying to group the comments and N nodes using preceding-sibling but have not been succesful. Any ideas? Thanks -- Mike Blake-Knox
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Comparing node for identi, Pieter Reint Siegers | Thread | RE: [xsl] Keeping comments with rel, Michael Kay |
RE: [xsl] xsl programming problem, Jon Steeves | Date | RE: [xsl] Transform 2 xml streams t, Michael Kay |
Month |
Keywords