This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: xpath - how to return all nodes but the node matching avalue in an arbitrary tree?


>  <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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]