[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Sorting with partial string


Subject: Re: [xsl] Sorting with partial string
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sat, 28 Jan 2006 08:02:48 +1100

Use:

<xsl:sort select=
	    "substring(.,1+3*boolean(substring-after(.,'no ')))"/>



--
Cheers,
Dimitre Novatchev
---------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all.



On 1/28/06, Martin Gadbois <martin.gadbois@xxxxxxxxxxxx> wrote:
> Hello list,
>
> I have a list of commands in a XML file:
> <list>
> <cmd>proxy</cmd>
> <cmd>no proxy</cmd>
> <cmd>setting</cmd>
> <cmd>no setting</cmd>
> <cmd>abacus</cmd>
> <cmd>no abacus</cmd>
> </list>
>
> I would like to sort the output based on the main word, that is without
> taking into consideration the '^no ' regex.
>
> Thus, the expected output would be:
> <list>
> <cmd>abacus</cmd>
> <cmd>no abacus</cmd>
> <cmd>proxy</cmd>
> <cmd>no proxy</cmd>
> <cmd>setting</cmd>
> <cmd>no setting</cmd>
> </list>
>
> How can I do that in XSLT v1? I use Xalan-C.
>
> Xpath substring-after() unfortunately returns "" if the pattern is not
> found, therefore
> <xsl:apply-templates select="cmd">
> <xsl:sort select="substring-after(.,'no ')"/>
> </xsl:apply-templates>
> does not work...
>
> Thanks,
>
> --
> ==============         +----------------------------------------------+
> Martin Gadbois         | "Windows might take you from 0 to 60 faster, |
> S/W Developer          |  but to go to 100 you need Unix."            |
> Colubris Networks Inc. +----------------------------------------------+


Current Thread
Keywords