Subject: Re: Must be a better way to write this XPath expression
From: Frederic Laurent <fl@xxxxxxxxxxxxx>
Date: Fri, 6 Jun 2003 18:27:35 +0200
|
On Friday 06 June 2003 17:32, Simon.Fairey@xxxxxx wrote:
> Hi,
>
> Given:
>
> <data>
> <stuff>
> <a>
> ...lots in here...
> </a>
> <b>
> ...lots in here...
> </b>
> <c>
> ...lots in here...
> </c>
> <d>
> ...lots in here...
> </d>
> </stuff>
> </data>
>
> In my XSL to get sections 'a' and 'b' I would have thought something like:
>
> /data/stuff/(a|b)
doesn't work because you can specify conditionnal expression only into predicate,
between '[' and ']'
like this
/data/stuff/child::*[self::a or self::b]
or
/data/stuff/child::*[name()='a' or name()='b']
or
/data/stuff/*[self::a or self::b]
>
> would work but the only thing I can get to work is:
>
> /data/stuff/a|/data/stuff/b
>
> which just seems too long winded for there not to be a better way to
> express it.
With absolute paths, I think you can't write a shorter expression
HTH
--
Frédéric Laurent
http://www.opikanoba.org
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|