qexo-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qexo-general] Open source Xquery implementation


From: Alex Siegel
Subject: [Qexo-general] Open source Xquery implementation
Date: Thu, 28 Oct 2004 07:44:16 -0700

Hi there. I implemented the complete Xquery spec for my company
(Vitria Technology), and now we are considering making it open
source. My implementation includes the following features:

*       A reasonably complete XQuery execution engine, which can act as
an interpreter to support rapid development and debugging, or as a
compiler. When used a compiler, the engine generates Java code which
directly executes the query with very high efficiency. In effect, there
are two complete XQuery engines in one.
*       A data type analysis and inference engine. This allows the query
engine to use an optimal representation for intermediate data in a
query, even when data types are not explicitly declared.
*       A powerful query optimizer, which can perform the following
functions: eliminate unnecessary variables, detect and combine common
sub-expressions, pull invariant sub-expressions out of loops,
pre-compute constant sub-expressions, simplify paths, inline functions,
combine or eliminate casts, and so forth.
*       Extensions to the XQuery language to support direct access to
Java objects and methods. You can transform Java data as easily as XML,
and mix both types of transformations in a single query.
*       XSLT to XQuery translation. People with existing XSLT can
immediately make use of this new technology.
*       A compact binary representation of XML data (currently called
"TDXML" or "traversable dense XML"). For typical documents, this format
requires only 10% to 20% of the memory as the original XML. In addition,
an application can very efficiently process TDXML (e.g. search for
elements with a particular name). TDXML can also be stored and sent in
messages directly, without need for reparsing.
*       Support for the TRAX and JAXP standards for XML transformation.
*       A complete, compliant DOM implementation (level 2). This is the
preferred interface for manipulating XML data programmatically. This DOM
implementation is designed to make transformation much faster by
eliminating the vast majority of node clones.

It's a very fast engine, and over a man-year of effort has gone into it.
It is highly robust and well tested.

Do you have any thoughts for how I should approach open
sourcing it? There are already several freeware implementations
of Xquery out there, so I'm not convinced that tossing another
one into the mix will be productive, no matter how well
implemented. The other issue is that the current implementation
depends on some proprietary tools. Breaking that dependency will
take some time. Maybe the best approach is to attach myself to
an existing team and port technology over.

Any ideas are welcome.

                Alex Siegel
                address@hidden
                address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]