Hi,
I think I need to use recursion but I cannot get the output I want.
I tried replacing every /Next/@id with its matching element
using a xsl:key
on the PAGE elements based on id
but that only replaces on one level and since I don't know
the lenght of the
linked lists I cannot use this principle.
Does anybody have an idea how to solve this
I'm not really that familiar with xslt
How about
<xsl:key name="id" match="PAGE" use="@id" />
<xsl:key name="idref" match="Next" use="@id" />
<xsl:template match="Pages">
<xsl:copy>
<xsl:apply-templates select="PAGE[not(key('idref', @id))]" />
</xsl:copy>
</xsl:template>
<xsl:template match="Next">
<xsl:copy>
<xsl:apply-templates select="key('id', @id)" />
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Cheers,
Jarno - Dulce Liquido: Pissed Off
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list