Skip to Content.
Sympa Menu

xom-interest - RE: [XOM-interest] XOM 1.1: XPath

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: "Michael Kay" <mike AT saxonica.com>
  • To: "'Elliotte Harold'" <elharo AT metalab.unc.edu>, "'John Cowan'" <jcowan AT reutershealth.com>
  • Cc: xom-interest AT lists.ibiblio.org
  • Subject: RE: [XOM-interest] XOM 1.1: XPath
  • Date: Fri, 7 Jan 2005 10:52:05 -0000



> -----Original Message-----
> From: xom-interest-bounces AT lists.ibiblio.org
> [mailto:xom-interest-bounces AT lists.ibiblio.org] On Behalf Of
> Elliotte Harold
> Sent: 06 January 2005 23:18
> To: John Cowan
> Cc: xom-interest AT lists.ibiblio.org
> Subject: Re: [XOM-interest] XOM 1.1: XPath
>
> John Cowan wrote:
> One upside to Jaxen is that I do think the code base is simple enough
> that I can fix it if I need to. I haven't really looked at
> Saxon 8 yet.
> Possibly it has the same characteristic. I am concerned that
> the Saxon 8
> API may not be stable enough yet, given Dr. Kay's focus on
> the evolving
> XPath 2.0 and XQuery specs. I'm also concerned that there may
> be areas
> where XPath 2.0 support introduces subtle incompatibilities
> with XPath
> 1.0. I'm not sure of any of this. These are just some
> concerns I'd need
> to address before committing to Saxon.

Saxon now supports the JAXP 1.3 XPath API which should be thoroughly stable,
though it may not give you as much control as you want.

The incompatibilities between "XPath 2.0 in 1.0 mode" and "XPath 1.0" are
now tiny. One is that the construct "A<B<C" is no longer supported (in 1.0,
it doesn't mean what you think it means), another is that number("1.0e0")
now gives you the number 1 rather than NaN.

A bigger problem is that if you used the Saxon 8.x engine, there's no easy
way of preventing the user from using XPath 2.0 constructs.

Another option you have, of course, is to use the Saxon 6.5.3 XPath engine.
That's competely stable and highly conformant, and you could fork it if you
chose without serious risk. You could easily modify it to run directly on
XOM without a mapping layer. It also has the advantage, for your purposes,
of being far more self-contained than the 8.2 engine - In 8.2, XPath
expressions and XSLT instructions compile into a single integrated AST, and
you can no longer clearly separate the XPath runtime from the XSLT runtime.

Michael Kay
http://www.saxonica.com/





Archive powered by MHonArc 2.6.24.

Top of Page