Re: [xsl] Ordering by child node attribute

Subject: Re: [xsl] Ordering by child node attribute
From: Marc <Marc.Liste@xxxxxxx>
Date: Tue, 27 Dec 2011 14:48:55 +0100
Hi,
You can use the collation with the parameter alphanumeric.
Marc

Le 27/12/2011 14:40, Gian Paolo Bernardini - TeleTu a icrit :
Hi all,

I'd like to order an xml from this form:

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<Class code="B" kind="component">
		<SubClass code="b1"/>
		<SubClass code="b2"/>
	</Class>
	<Class code="b1" kind="chapter">
		<SuperClass code="B"/>
		<SubClass code="b110-b139"/>
	</Class>
	<Class code="b2" kind="chapter">
		<SuperClass code="B"/>
		<SubClass code="b210-b229"/>
	</Class>
	<Class code="b110-b139" kind="block">
		<SuperClass code="b1"/>
		<SubClass code="b110"/>
	</Class>
	<Class code="b210-b229" kind="block">
		<SuperClass code="b2"/>
		<SubClass code="b210"/>
	</Class>
	<Class code="b110" kind="fourdigit">
		<SuperClass code="b110-b139"/>
	</Class>
	<Class code="b210" kind="fourdigit">
		<SuperClass code="b210-b229"/>
	</Class>
</root>

to this form:

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<Class code="B" kind="component">
		<SubClass code="b1"/>
		<SubClass code="b2"/>
	</Class>
	<Class code="b1" kind="chapter">
		<SuperClass code="B"/>
		<SubClass code="b110-b139"/>
	</Class>
	<Class code="b110-b139" kind="block">
		<SuperClass code="b1"/>
		<SubClass code="b110"/>
	</Class>
	<Class code="b110" kind="fourdigit">
		<SuperClass code="b110-b139"/>
	</Class>
	<Class code="b2" kind="chapter">
		<SuperClass code="B"/>
		<SubClass code="b210-b229"/>
	</Class>
	<Class code="b210-b229" kind="block">
		<SuperClass code="b2"/>
		<SubClass code="b210"/>
	</Class>
	<Class code="b210" kind="fourdigit">
		<SuperClass code="b210-b229"/>
	</Class>
</root>

I can't use 'sort' or 'grouping-by' because it returns for example b110
before b110-b139, which is not what I'm searching for.
If anyone has an idea it would be glad :)
Thanks in advance and happy new year

PS. currently I'm using SaxonHE9-4-0-1J, sometimes Xalan. I've no
constraints on the XSL versions.

Current Thread