xsl-list
[Top] [All Lists]

Re: [xsl] How to efficently determine if a nodes exists with an attribute value other than those in a list

2007-08-07 09:42:47

<xsl:variable name="tcheck"><xsl:sequence
select="'x',y','z'"/></xsl:variable>

xsl:variable with no as or select attribute always creates a document
node, so here $tcheck is a document node with a child text node with
string value 'x y z' 
what you want is


<xsl:variable name="tcheck" select="'x',y','z'"/>


which gives you a sequence of strings, but then



@type except $tcheck

except is set difference, using _node identity_
as the test. As you had it  it's the same as @type as
it is the sequece 9of 1) type attribute nodes, minus the document node
in $tcheck.

Once $tcheck is a sequence of strings you'd get a type error as execpt
needs node sequences.

doc/*[(not(@type=$tcheck))]

is your friend (or not depending on whether a node not having a type
attribute at all is a possibility, and what you want in that case)

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

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