|
Subject: Re: [xsl] [xsl 1.0] howto merge branches by name From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Wed, 14 Dec 2011 15:27:48 -0500 |
Consider the following input XML file: ... I am trying to find a way to transform it into: ... The branches are always 3-levels deep. That is: suite > case > procedure.
Please help,
t:\ftemp>type adrian.xml
<?xml version="1.0" encoding="UTF-8"?>
<test>
<suite name="A">
<case name="A">
<procedure name="A" />
</case>
</suite>
<suite name="A">
<case name="A">
<procedure name="B" />
</case>
</suite>
<suite name="A">
<case name="B">
<procedure name="A" />
</case>
</suite>
</test>t:\ftemp>xslt2 adrian.xml adrian.xsl
<?xml version="1.0" encoding="UTF-8"?>
<test>
<suite name="A">
<case name="A">
<procedure name="A"/>
<procedure name="B"/>
</case>
<case name="B">
<procedure name="A"/>
</case>
</suite>
</test>
t:\ftemp>type adrian.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0"><xsl:template match="test">
<test>
<xsl:for-each-group select="suite" group-by="@name">
<suite name="{@name}">
<xsl:for-each-group select="current-group()/case" group-by="@name">
<case name="{@name}">
<xsl:copy-of select="current-group()/procedure"/>
</case>
</xsl:for-each-group>
</suite>
</xsl:for-each-group>
</test>
</xsl:template></xsl:stylesheet> t:\ftemp>
-- Contact us for world-wide XML consulting and instructor-led training Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/uoui9h Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] [xsl 1.0] howto merge branche, Adrian Herscu | Thread | [xsl] Re: [xsl 1.0] howto merge bra, Adrian Herscu |
| [xsl] [xsl 1.0] howto merge branche, Adrian Herscu | Date | [xsl] Re: [xsl 1.0] howto merge bra, Adrian Herscu |
| Month |