xsl-list
[Top] [All Lists]

[xsl] select elements based on value NOT contained in descendant elements

2007-07-17 12:39:22
Consider this structure:
<ROWSET>
<ROW>
  <NAME/>
  <CREDIT_CARDS>
    <CREDIT_CARD>
       <ISSUER/>
       <NUMBER/>
    </CREDIT_CARD>
    <CREDIT_CARD>
       <ISSUER/>
       <NUMBER/>
    </CREDIT_CARD>
  </CREDIT_CARDS>
</ROW>
</ROWSET>

I need to select the rows who do not have a CREDIT_CARD descendant whose ISSUER 
descendant contains one of a set of values.

For example, say that I want to select all ROW elements that do not have an 
ISSUER descendant with one of these values: ABC, MNO, RST


I tried a construct like this, but it failed to filter out the ROWS I expected 
it to filter,

select="ROW[not(CREDIT_CARDS/CREDIT_CARD/ISSUER= ('ABC','MNO','RST'))]"

Namely, ROW elements which had ISSUER descendants whose text value was one of 
the three listed strings.

What am I missing here? Am I misusing the not() operator?

Thanks.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>