|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: sort
If the depth of the sorting-element can be bounded to e.g. 3 :
First, parse your sort specification (e.g., 'person.superlogin.login') into
several variables - in this case it would give :
$sortdepth=3
$sortering1='person'
$sortering2='superlogin'
$sortering3='login'
For a simpler sort, e.g. on 'person' it would give :
$sortdepth=1
$sortering1='person'
$sortering2=''
$sortering3=''
This is easy to do with substring-before() and substring-after(), so I'll
leave it as an exercise :-)
Then you can use the following :
<xsl:apply-templates>
<xsl:sort select="*[name()=$sortering1 and $sortdepth=1]"
order="{$direction}"/>
<xsl:sort select="*[name()=$sortering1 and
$sortdepth=2]/*[name()=$sortering2]" order="{$direction}"/>
<xsl:sort select="*[name()=$sortering1 and
$sortdepth=3]/*[name()=$sortering2]/*[name()=$sortering3]"
order="{$direction}"/>
</xsl:apply-templates>
Hope this helps.
--Jonathan
----- Original Message -----
From: "Frederic Leclercq" <frederic@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, February 02, 2002 1:24 AM
Subject: sort
>
> that's one "record" - i have 100's of them in the XML string.
>
> Following works perfect if i would like to sort on one of the first level
tags...
> <xsl:apply-templates>
> <xsl:sort select="*[name()=$sortering]" order="{$direction}"/>
> </xsl:apply-templates>
>
> But now i would like to sort the xmlstring on
"root.person.supelogin.login"
> Anybody could help me out ?
>
> Thx,
> Fred.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








