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