xsl-list
[Top] [All Lists]

RE: [xsl] xpath syntax error

2008-12-17 09:45:30

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/


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

<Prev in Thread] Current Thread [Next in Thread>