Subject: Re: [xsl] Sorting Two Dimensional Table From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 16 Oct 2007 18:24:25 +0100 |
> Is it possible to do a sort in a XPath so that it would feed the > sequence in a sorted manner ? XPath 1 does not have a sequence data type so you can not store a sorted sequence, it has node sets, which are intrinsically unorderd. If you need to store an ordered set of things in xpath 1 you need to make copies of the nodes under under a parent node so that sibling order records the ordering. You then to use the node set extension to access the nodes. XPath 2 has a (ordered) sequence type as its primitive datatype, replacing node sets. So where in xslt/xpath 2 you can go <xsl:variable name="k1" as="xs:string+"> <xsl:perform-sort select="x/titles/key"> <xsl:sort select="."/> </xsl:perform-sort> </xsl:variable> <xsl:for-each select="$k1,titles/value"> and so iterate over a sorted sequence of nodes, in XSLt 1 you'd go <xsl:variable name="k1x"> <xsl:for-each select="x/titles/key"> <xsl:sort select="."/> </xsl:for-each> <xsl:copy-of select="x/titles/value"/> </xsl:variable> <xsl:variable name="k1" select="msxsl:node-set($k1x)/*"/> <xsl:for-each select="$k1"> Which would work, but copying nodes is relatively expensive and if you repeatedly copied at every iteration of the sorting it would get exponentially so. David ________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Sorting Two Dimensional T, Pierre-Luc Bertrand | Thread | RE: [xsl] Sorting Two Dimensional T, Scott Trenda |
Re: [xsl] Maximum "child-depth" of , Dimitre Novatchev | Date | [xsl] Re: Wrapping two different el, Bruno Nahod |
Month |