This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: If nodeset does NOT include
- From: "Thomas B. Passin" <tpassin at mitretek dot org>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 30 Aug 2002 13:40:39 -0400
- Subject: Re: [xsl] If nodeset does NOT include
- References: <3D6F58D5.32022.90FFDC@localhost>
- Reply-to: xsl-list at lists dot mulberrytech dot com
[Thomas Hartung]
> I want to call a template only if a nodeset does
> not contain a match for a variable, ie:
>
> <xsl:if test="(.//InqInfo/Member_Id != $listfor)">
> <xsl:call-template
> name="Recipbutton">
>
> where != should mean "does not include"
Assuming that you mean that $listfor is the name of an child element of
Member_id, you can use
test='not(.//InqInfo/Member_id/*[name()=$listfor])'
or
test='count(.//InqInfo/Member_id/*[name()=$listfor])=0'
Other variations are possible, depending on exactly what you want to test
for.
You may also want to replace ".//" with some other construction if you need
to get more performance, since ".//" is likely to be slow. That would only
matter if you have very large files or you need especially fast response
time.
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list