This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Shorthand for XPath expression
- To: williamb at adone dot com
- Subject: [xsl] Re: Shorthand for XPath expression
- From: Dimitre Novatchev <dnovatchev at yahoo dot com>
- Date: Wed, 18 Jul 2001 21:44:11 -0700 (PDT)
- Cc: xsl-list at lists dot mulberrytech dot com
- Reply-To: xsl-list at lists dot mulberrytech dot com
William Bagby wrote:
> Is there an XPath shorthand for:
>
> <xsl:if test="@name = 'bob' or @name = 'joe' or @name = 'ben'">
>
> something along the lines of
>
> <xsl:if test="@name in ('bob', 'joe', 'ben')">
Two ways come into mind:
1. Have the following in your code globally defined:
<someprefix:Values>
<Value>bob<Value>
<Value>joe<Value>
<Value>ben<Value>
</someprefix:Values>
Assign this to an xsl:variable like this:
<xsl:variable name="vValues" select="document('')/*/someprefix:Values"/>
Then your test will be:
@name = $vValues/Value
When a string is compared to a node-set, the comparison is true if a node (from the
node-set) exists for which the comparison is true.
2. You can use the id() function -- look at:
http://www.dpawson.co.uk/xsl/sect2/muench.html#d196e227
Cheers,
Dimitre Novatchev.
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list