Subject: RE: [xsl] <xsl:sort> From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 7 May 2005 20:25:13 +0100 |
> <xsl:template match="document"> > ... > <xsl:for-each select="child::node()"> > <!-- > Avoid the first two nodes occuring in document order. > They have already been address above. > --> > <xsl:if test="position() > 2"> > <xsl:apply-templates select="." /> > </xsl:if> > </xsl:for-each> > <xsl:apply-templates select="product"> > <xsl:sort select="category" data-type="number" > order="descending" /> > </xsl:apply-templates> You're applying templates to all the child nodes after the second, and then you're applying templates to all the child nodes that are products. These categories presumably overlap. I haven't followed what you're trying to achieve, but this looks very odd. Incidentally this could be rewritten <xsl:template match="document"> ... <xsl:apply-templates select="child::node()[position() > 2]"/> <xsl:apply-templates select="child::product"> <xsl:sort.../> </xsl:apply-templates> </xsl:template> Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] <xsl:sort>, aspsa | Thread | Re: [xsl] <xsl:sort>, George Cristian Bina |
RE: [xsl] <xsl:sort>, aspsa | Date | Re: [xsl] <xsl:sort>, George Cristian Bina |
Month |