[xsl] Sorting with partial string

Subject: [xsl] Sorting with partial string
From: Martin Gadbois <martin.gadbois@xxxxxxxxxxxx>
Date: Fri, 27 Jan 2006 10:11:18 -0500
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