This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: sort / unsort


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]