RE: [xsl] processin each element not on a list

Subject: RE: [xsl] processin each element not on a list
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sat, 5 Oct 2002 17:30:06 +0100
> I have xml in substantially the following form:
> 
> <root>
>  <choices>
>   <choice>A</choice>
>   <choice>B</choice>
>   <choice>C</choice>
>   <choice>D</choice>
>  </choices>
>  <items>
>   <item id="1">A</item>
>   <item id="2">X</item>
>   <item id="3">B</item>
>   <item id="4">C</item>
>   <item id="5">Y</item>
>   <item id="6">Z</item>
>  </item>
> </root>
> 
> I need to process each item where its content is not one of 
> the choice values. I need a very efficient solution since I 
> have say up to 10,000 <items>s and perhaps 100 difference <choice>'s. 
> 

<xsl:key name="c" match="choice" use="."/>

then

  <xsl:for-each select="item[not(key('c',.))]">

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


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


Current Thread