xsl-list
[Top] [All Lists]

Re: Sorting with partial string

2006-01-27 14:02:48
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(_dot_)gadbois(_at_)colubris(_dot_)com> 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. +----------------------------------------------+

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>