|
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 |