Hello,
Given an XPath expression (for example //foo/foo2) that works for a given
xml, I would like to use the substring-before function, to keep only the
characters in //foo/foo2 before '-'.
The XPath would then become substring-before(//foo/foo2, '-')
It seems that both XPath 1.0 specs, MSXML 4, Saxon 7.4 and XalanJ 2.5 refuse
such construction (e.g. having a function call as root of an XPath
expression). Note that it works with Xalan C++ 1.4. Should it, or not,
regarding the specs?
Do you know if there is a simple "legal" XPath-only-based solution to
achieve the same result?
Many thanks,
Yves
PS:
For MSXML 4 I use an XMLDOMDocument + the selectSingleNode function.
For Saxon and XalanJ I wrote programs derived from their respective
XPathExample and ApplyXPath samples.
For XalanC I wrote a program derived from its XPathWrapper sample).
Saxon error is "A sequence of more than one item is not allowed here".
XalanJ error is "Can not convert #STRING to a NodeList!".
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list