Menu

#774 QName in S9API interface

v9.0
closed
s9api API (27)
5
2012-10-08
2008-02-04
Michael Kay
No

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.

Discussion

  • Michael Kay

    Michael Kay - 2008-02-04

    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.

     
  • Michael Kay

    Michael Kay - 2008-02-08

    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.

     
  • Michael Kay

    Michael Kay - 2008-03-17

    Logged In: YES
    user_id=251681
    Originator: YES

    Fixed in 9.0.0.4