QName in S9API interface
The Saxon XSLT and XQuery processor, developed by Saxonica
Brought to you by:
mhkay
When using standalone XPath expressions in the s9api interface, there is an unfortunate confusion in the use of different QName classes.
The XPathCompiler method declareVariable() uses the class javax.xml.namespace.QName, whereas XPathSelector.setVariable() uses net.sf.saxon.s9api.QName.
Logged In: YES
user_id=251681
Originator: YES
In fact, any attempt to use the setVariable() method will fail saying "Variable has not been declared: ", because the variable names are not compared correctly.
Logged In: YES
user_id=251681
Originator: YES
A patch is in Subversion. This changes the declareVariable() method to use the S9API QName class rather than the JAXP version. This could require applications to be recompiled.
Logged In: YES
user_id=251681
Originator: YES
Fixed in 9.0.0.4