RE: [xsl] copy nodes as keys

Subject: RE: [xsl] copy nodes as keys
From: Jarno.Elovirta@xxxxxxxxx
Date: Wed, 18 Sep 2002 09:20:25 +0300
Hi,

> Can I use xsl:key for this?
> I want to copy nodes based on a id-attribute from one 
> location in the document to another,

Sure,

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

<xsl:key name="extrachairstuff" match="extrachairstuff" use="@id" />

<xsl:template match="chair">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()|key('extrachairstuff', @id)"/>
  </xsl:copy>  
</xsl:template>

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

</xsl:stylesheet>

Put the key method into it's own apply-templates, if the referenced extrachairstuff elements don't always appear after the refence.

Jarno - Village People: Y.M.C.A.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread