|
Subject: Re: [xsl] Another problem from Flat XML File to Hierarchical From: Abel Braaksma <abel.online@xxxxxxxxx> Date: Mon, 12 Feb 2007 17:18:50 +0100 |
<xsl:template match="/"> <xsl:for-each-group select="$data/*" group-starting-with="level1">
<xsl:copy>
<xsl:apply-templates select="current-group()[2]" />
</xsl:copy>
</xsl:for-each-group>
</xsl:template><xsl:template match="*[matches(name(), 'level')]">
<xsl:variable name="currentname" select="name()" />
<xsl:for-each-group
select="current-group()[position() > 1]"
group-starting-with="*[name() = $currentname]"> <xsl:copy>
<xsl:apply-templates select="current-group()[2]" />
</xsl:copy>
</xsl:for-each-group>
</xsl:template>Cheers, -- Abel Braaksma http://xslt.metacarpus.com
I have a flat xml like this:
<level2></level2> <level3></level3> <level2></level2> <level1></level1> <level2></level2> <level3></level3> <level3></level3>
and I need to transform in a hierarchy structure like this using the tag name as key:
<level2> <level3></level3> </level2> <level2></level2> <level1> <level2> <level3></level3> <level3></level3> </level2> </level1>
Thanks in advance.
~av
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Another problem from Flat XML, alex v. | Thread | [xsl] persistent ids/hashes from st, Joern Nettingsmeier |
| [xsl] Choosing based on current nod, sthomas2 | Date | Re: [xsl] Choosing based on current, Abel Braaksma |
| Month |