Re: [xsl] invalid xpath?

Subject: Re: [xsl] invalid xpath?
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 02 Jul 2008 12:30:59 +0200
Trevor Nicholls wrote:
The following template errors in xsltproc and XMLSpy but appears to function
correctly when run by Saxon.

[...snip...]

   </xsl:when>
   <xsl:when test="not(preceding-sibling::*)[starts-with($Arg,'&#x0a;')]">
    <xsl:call-template name="WS">

[...snip...]

The xsltproc error is "XPath error: Invalid type"
XMLSpy says "Error in XPath expression, Not a node set"

Both xsltproc and XMLSpy are correct: the expression not(preceding-sibling::*) does not return a node set but a boolean and the [...] expression behind it can only be executed on a boolean.


Perhaps when you run it with Saxon you run it as XSLT 2.0 which allows for a predicate expression on a boolean.

I thought the test expressions are valid v1.0 XSL. Is this not so?

Yes, they are valid.


Cheers,
-- Abel --

PS: sending the line number in your post would make it a bit easier to find what's wrong. Now we have to go through all lines with an XPath.

Current Thread