Subject: RE: xpath syntax error
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 17 Dec 2008 14:45:01 -0000
|
> I was trying to find empty p or q elements in my xml (saxon 9B) with
>
> <xsl:template match='(p|q)[count(node()) = 0]'/>
>
> This gives me a syntax error.
The syntax of XSLT patterns is a (small) subset of the syntax for XPath
expressions. Parentheses are not allowed, and "|" is allowed only as the
top-level operator. So it has to be
match="p[count(node()) = 0] | q[count(node()) = 0]"
or some other construct as you suggest. Though you could write this more
tersely as
match="p[not(node())] | q[not(node())]"
Michael Kay
http://www.saxonica.com/
|