Subject: Re: [xsl] Reordering a complex hierarchical structure From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 30 Aug 2006 16:26:52 +0100 |
something like this if i understood correctly <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:key name="id" match="service" use="id"/> <xsl:template match="/"> <xsl:for-each select="/x/session/service[generate-id()=generate-id(key('id',id))]"> <service> <xsl:copy-of select="name|id"/> <xsl:for-each select="key('id',id)/../metric"> <xsl:sort select="@name"/> <xsl:copy-of select="."/> </xsl:for-each> </service> </xsl:for-each> </xsl:template> </xsl:stylesheet> $ saxon session.xml session.xsl <?xml version="1.0" encoding="utf-8"?> <service> <name>somename</name> <id>1</id> <metric name="andanothermetric">value3</metric> <metric name="andanothermetric">value6</metric> <metric name="anothermetric">value2</metric> <metric name="anothermetric">value5</metric> <metric name="somemetric">value1</metric> <metric name="somemetric">value4</metric> </service> <service> <name>anothername</name> <id>2</id> <metric name="andanothermetric">value9</metric> <metric name="andanothermetric">value12</metric> <metric name="anothermetric">value8</metric> <metric name="anothermetric">value11</metric> <metric name="somemetric">value7</metric> <metric name="somemetric">value10</metric> </service>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Reordering a complex hierarch, Ian Wootten | Thread | Re: [xsl] Reordering a complex hier, Mukul Gandhi |
[xsl] Reordering a complex hierarch, Ian Wootten | Date | Re: [xsl] XPath location problem, Per Åberg |
Month |