Subject: XPath behaviour
From: Lars Rönnbäck <lars@xxxxxxxxxxx>
Date: Thu, 28 Dec 2006 03:10:35 +0100 (CET)
|
Dear list,
I am having a problem with an XPath expression. The program I am using is
Stylus Studio 2007 and I am building an XSLT 1.0 stylesheet. Within the
program you have access to an XPath Query Editor. I used that together
with an XML file to build the following:
/calendar/year/month/day[@month = 3 and index =
21]/(.|following::day)[@phase = 2][1]/(.|following::day)[@weekday = 6][1]
This path will correctly find easter when I execute it in the query
editor. However, if I create a simple stylesheet that uses the path in a
<xsl:value-of select="..."> I get a compilation error.
Using the built-in processor I get the message:
Testing.xsl (5, 2): Expected node test in value-of
Using MSXML6 I get the message:
NodeTest expected here.
/calendar/year/month/day[@month = 3 and index =
21]/-->(<--.|following::day)[@phase = 2][1]/(.|following::day)[@weekday =
6][1]
Using Saxon 6.5.5 I get the message:
com.icl.saxon.expr.XPathException: Error in expression
/calendar/year/month/day[@month = 3 and index =
21]/(.|following::day)[@phase = 2][1]/(.|following::day)[@weekday = 6][1]:
Unexpected token [(] in path expression
Using the .NET XslTransform I get the message:
System.Xml.Xsl.XsltException: '/calendar/year/month/day[@month = 3 and
index = 21]/(.|following::day)[@phase = 2][1]/(.|following::day)[@weekday
= 6][1]' is an invalid XPath expression. --->
System.Xml.XPath.XPathException: Expression must evaluate to a node-set.
| Current Thread |
- XPath behaviour
- Lars Rönnbäck - 28 Dec 2006 02:05:49 -0000 <=
- Message not available
- Message not available
- Message not available
- Wendell Piez - 28 Dec 2006 15:16:34 -0000
|
|