Different Current-Node-Set

Sam Prokop <[email protected]> Fri, 12 Feb 2010 14:53:39 +0100
Newsgroups gmane.text.xml.xalan.java.user
Message-ID <58A6AACF06CA004297169C2D7679E9A9999ECB9B5F@pdc.4tek-net.4tek.de.local>
Hi,

why does Xalan process different current-node-sets, when one node set is sorted?

Example:

XML:

<AAA>
    <BBB>
        <CCC>A</CCC>
    </BBB>
    <BBB>
        <CCC>B</CCC>
    </BBB>
    <BBB>
        <CCC>A</CCC>
    </BBB>
    <BBB>
        <CCC>C</CCC>
    </BBB>
    <BBB>
        <CCC>B</CCC>
    </BBB>
    <BBB>
        <CCC>B</CCC>
    </BBB>
    <BBB>
        <CCC>A</CCC>
    </BBB>
</AAA>

XSL:

    <xsl:template match="/">
        <xsl:apply-templates select="//AAA/BBB">
            <xsl:sort select="CCC"/>
        </xsl:apply-templates>
    </xsl:template>

    <xsl:template match="BBB">
         <xsl:value-of select="CCC"/> = <xsl:value-of select="preceding::CCC"/> : <xsl:value-of select="CCC = preceding::CCC"/><br/>
    </xsl:template>

Result:
A=:false
A=A:true
A=A:true
B=A:false
B=A:true
B=A:true
C=A:false

Does the comparison "CCC = preceding::CCC" use the sorted Node-Set for preceding and  the select "preceding::CCC" use the document node set?






Thanks

Sam