Re: [xsl] xpath - how to return all nodes but the node matching a value in an arbitrary tree?

Subject: Re: [xsl] xpath - how to return all nodes but the node matching a value in an arbitrary tree?
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Sat, 04 May 2002 19:45:03 +0200
 <xsl:param name="delete_id"/>
 <xsl:template match="/">
  <xsl:copy-of select="//category//artist[@id!=$delete_id]"/>
 </xsl:template>

You select all artist-elements, which don't have the $delete_id. This works for me.
But I think you want something different. Try a copy whith each node separately:


<xsl:param name="delete_id"/>

<xsl:template match="*|text()|@*">
  <xsl:copy>
    <xsl:apply-templates select="*[@id != $delete_id]|text()|@*"/>
  </xsl:copy>
</xsl:template>

This stylesheet would copy the complete input to the output.

A little change at the apply-templates removes the elements which should be deleted:

<xsl:apply-templates select="*[@id != $delete_id]|text()|@*"/>

Regards,

Joerg


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



Current Thread