|
Subject: Re: [xsl] Creating a padded sort key: easier from elt sequence or string? From: Florent Georges <darkman_spam@xxxxxxxx> Date: Wed, 26 Jul 2006 14:52:35 +0200 (CEST) |
Yves Forkl wrote:
Hi
> - As my dotted sequence can be of variable length, I need to
> determine the number of sort statements dynamically.
As you said the numbers are < 1000, you can easily create a
normalized sort string:
~/xslt/tests> cat sort-keys.xsl
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="my:sort-keys.xsl"
version="2.0">
<xsl:output method="text"/>
<xsl:function name="my:normalise-sort-keys" as="xs:string">
<xsl:param name="keys" as="element()+"/>
<xsl:value-of separator="." select="
for $s in $keys/string(.) return
if ( matches($s, '[0-9]+') ) then
format-number(number($s), '000')
else
$s
"/>
</xsl:function>
<xsl:template match="/">
<xsl:for-each select="root/elt">
<xsl:sort select="my:normalise-sort-keys(sort_key_elt)"/>
<xsl:value-of select="@id"/>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:transform>
~/xslt/tests> cat sort-keys.xml
<root>
<elt id="1">
<sort_key_elt>A</sort_key_elt>
<sort_key_elt>12</sort_key_elt>
<sort_key_elt>z</sort_key_elt>
</elt>
<elt id="2">
<sort_key_elt>A</sort_key_elt>
<sort_key_elt>4</sort_key_elt>
<sort_key_elt>z</sort_key_elt>
</elt>
</root>
~/xslt/tests> saxon sort-keys.xml sort-keys.xsl
2
1
If you choose a string instead of several elements as your keys, you
can adapt this with tokenize().
Regards,
--drkm
___________________________________________________________________________
Dicouvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet !
Yahoo! Questions/Riponses pour partager vos connaissances, vos opinions et vos expiriences.
http://fr.answers.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Creating a padded sort ke, Yves Forkl | Thread | RE: [xsl] listing elements & sub-el, Karl |
| [xsl] Re: building a hierarchical c, mnews-xsl@xxxxxx | Date | Re: [xsl] Re: building a hierarchic, Albert Juhé |
| Month |