Subject: Re: [xsl] nested XML using xslt From: Martin Honnen <Martin.Honnen@xxxxxx> Date: Fri, 24 Jul 2009 19:04:03 +0200 |
Here is the input file:
<list1> <litem>000</litem> <list2> <litem>123 </litem>
<list3> <litem>ABC</litem> <litem>666</litem> </list3> <!-- now this litem element belongs to list 2--> <litem> 999 I belong to list 2</litem> <litem> I belong to list 2</litem> <list3> <litem> I belong to the new list 3</litem> </list3> <litem> I belong to list 2 again</litem> <list3> <litem> another list 3</litem> <list4> <litem>222</litem>
</list4> <!-- I belong to lsit 3 now--> <litem>333</litem> </list3> </list2> </list1>
Here is my desired output:
<level1> <text>000</text> <level2> <text> <para>123</para> </text> <level3> <text> <para>ABC</para> </text> </level3> <level3> <text> <para>666</para> </text> </level3> </level2> <level2> <text> <para>999 I belong to list 2</para> </text> </level2> <level2> <text> <para>I belong to list 2.</para> </text> <level3> <text> <para>I belong to the new list 3list 3.</para> </text> </level3> </level2> <level2> <text> <para>I belong to list 2 again</para> </text> <level3> <text> <para>another list 3</para> </text> <level4 id="S022496B8">
<text> <para>222</para> </text> </level4> </level3>
Isn't one level3 missing here, from <!-- I belong to lsit 3 now--> <litem>333</litem>
</level2> </level1>
The idea is that every 'litem' element counts as a 'levelX'.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mf="http://example.com/2009/mf" exclude-result-prefixes="xs mf" version="2.0">
<xsl:template match="/"> <xsl:sequence select="mf:group(list1, 1)"/> </xsl:template>
<level1> <text> <para>000</para> </text> <level2> <text> <para>123 </para> </text> <level3> <text> <para>ABC</para> </text> </level3> <level3> <text> <para>666</para> </text> </level3> </level2> <level2> <text> <para> 999 I belong to list 2</para> </text> </level2> <level2> <text> <para> I belong to list 2</para> </text> <level3> <text> <para> I belong to the new list 3</para> </text> </level3> </level2> <level2> <text> <para> I belong to list 2 again</para> </text> <level3> <text> <para> another list 3</para> </text> <level4> <text> <para>222</para> </text> </level4> </level3> <level3> <text> <para>333</para> </text> </level3> </level2> </level1>
Martin Honnen http://msmvps.com/blogs/martin_honnen/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] nested XML using xslt, David Carlisle | Thread | [xsl] XSL Transformation for XML to, christ_c |
Re: [xsl] nested XML using xslt, David Carlisle | Date | Re: [xsl] question on random number, Martin Honnen |
Month |