[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Re: building a hierarchical classification out of flat and redundant data


Subject: [xsl] Re: building a hierarchical classification out of flat and redundant data
From: "mnews-xsl@xxxxxx" <mnews-xsl@xxxxxx>
Date: Wed, 26 Jul 2006 14:25:45 +0200

Albert Juhi wrote:
Hi,

I have been trying the code, and the output it's not that I expect
because the tag subunit is identet inside another subunit like this

</sub-sub-subunit>
</sub-subunit>
</sub-subunit>
</sub-subunit>
</sub-subunit>
</sub-subunit>
</sub-subunit>


And there are duplicated nodes

The duplicated nodes could be explained if there are indeed sub-sub-subunit's that are not preceeded by a matching sub-subunit,

I wrote templates that could point to this case, by showing the
preceeding subunit's:

<xsl:template match="/modul">
	<xsl:apply-templates/>
</xsl:template>

<xsl:template match="unit">
	<xsl:apply-templates select="subunit"/>
</xsl:template>

<xsl:template match="subunit">
	<xsl:apply-templates select="following-sibling::node()[1]" mode="check"/>
</xsl:template>

<xsl:template match="node()" mode="check">
	<xsl:apply-templates select="following-sibling::node()[1]" mode="check"/>
</xsl:template>

<xsl:template match="sub-sub-subunit" mode="check">
	<xsl:text>&#10;inproper nesting starting with node &#10;</xsl:text>
	<xsl:copy-of select="preceding-sibling::subunit[1]"/>
	<xsl:copy-of select="current()"/>
</xsl:template>

<xsl:template match="sub-subunit" mode="check"/>


Current Thread