RE: [xsl] [xslt performance for big xml files]

Subject: RE: [xsl] [xslt performance for big xml files]
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 26 Apr 2009 22:04:04 +0100
> > I am not a DBA, but I use Hibernate to keep the (generated) 
> SQL vendor 
> > agnostic. But again, XQuery is a W3 standard. I just can't help 
> > feeling there is a con going on. That is probably too strong, but I 
> > hear, "Look at my standards compliant XML DB - you can use 
> standards 
> > based XQuery. However, to use it as we suggest, you will 
> need to use 
> > our extensions."

I think there are a number of factors at play here. Some of these points
apply also to XSLT. (I mention XSLT because I sense that Tommie is about to
bang her gavel.)

(a) XQuery was designed to be used in many different environments, and the
interface with the environment is therefore deliberately abstracted. This is
why the URIs used for collections, collations, etc are not standardised.

(b) XQuery is a 1.0 specification and left out many features in the
interests of getting a spec out. Vendors have tried to fill these gaps with
custom extensions because they know users need the facilities. Here there is
a real difference with XSLT: XQuery does not have as good extensibility as
XSLT, in terms of capabilities like function-available(), use-when, or
xsl:fallback.

(c) Some vendors are pushing XQuery to take on a bigger architectural role
than it is currently capable of. They envisage writing an entire application
in XQuery, rather than merely using it for XML queries and transformations.

(d) The culture of the database vendor and user community is one where
expectations of interoperability are historically low. Users don't complain
much when vendors add proprietary extensions. The XQuery marketplace, or at
least part of it, has inherited this culture.

If you use XQuery to do what 1.0 was designed to do, then I think you can
achieve a good level of interoperability. If you try to go beyond that, it
becomes much more difficult.

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

Current Thread