This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: sort / unsort
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 9 Aug 2002 09:56:54 +0100
- Subject: RE: [xsl] sort / unsort
- Reply-to: xsl-list at lists dot mulberrytech dot com
XSLT 2.0 solution:
<xsl:sort-key name="sk1">
<xsl:sort select="."/>
</xsl:sort-key>
<xsl:variable name="first-five"
select="subsequence(sort($input, 'sk1'), 1, 5)"/>
<xsl:copy-of select="($first-five,
$input except $first-five)"/>
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of
> McKeever, Marty
> Sent: 08 August 2002 20:44
> To: xsl-list@lists.mulberrytech.com
> Subject: [xsl] sort / unsort
>
>
> Interesting problem, i've been wracking my brain to solve.
>
> From a group of nodes, output the first five in a sorted
> order, and dump the remainder in document order.
>
> that is:
> <foo>I</foo>
> <foo>F</foo>
> <foo>E</foo>
> <foo>D</foo>
> <foo>A</foo>
> <foo>C</foo>
> <foo>B</foo>
> <foo>H</foo>
> <foo>G</foo>
>
> would output:
> <foo>A</foo>
> <foo>B</foo>
> <foo>C</foo>
> <foo>D</foo>
> <foo>E</foo>
> <foo>I</foo>
> <foo>F</foo>
> <foo>H</foo>
> <foo>G</foo>
> note that only the first 5 are sorted.
> the remainder are in document order - less the 5 sorted items.
>
> TIA,
> Marty
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list