W3C XML Query (XQuery)
The un-queried life is not worth living
Socrates (Plato, The Apology, 38a)
INK
W3C XML Query (XQuery)
High level Overview
Architects & Analysts
For Users
For Implementers
What's New
Reference
30,000 Foot View
XQuery: 30,000 foot view (CIO, CTO, Journalist)
XQuery is a standardized language for combining
documents, databases, Web pages and almost anything
else. It is very widely implemented. It is powerful
and easy to learn.
XQuery is replacing proprietary middleware languages and
Web Application development languages. XQuery is replacing
complex Java or C++ programs with a few lines of code.
XQuery is simpler to work with and easier to maintain
than many other alternatives.
Do more with less.
Contents
News
XQuery for the Systems Analyst or Architect
Getting Started With XQuery; Using XQuery; FAQ
Resources for Implementers
Documents and Current Status: Specifications and Working Group Notes
Architects
XQuery for the systems analyst or architect
The W3C XML Query Working Group worked with the W3C XML Schema Working
Group and the W3C XSL Working Group to make a set of specifications that
all work together.
Use XQuery to take data from multiple databases, from
XML files, from remote Web documents, even from CGI scripts,
and to produce XML results that you can process with XSLT.
Use XQuery on the back-end of a Web server, or to generate
Enterprise-wide executive reports.
Examples of XML Query In Action
Submit your entry by sending mail to liam at w3.org,
with [XQuery site] in the subject. Remember to give the full
URL, and remember that it must be public.
Oxford
African American Studies Center
is a site published
by Oxford University Press using an XQuery system. See the
Site Credits link there for more details.
Alberta learning Center
for education in the Canadian province of Alberta; e.g. see
the Search link, which does not require registration.
AuthorMapper
shows authors of scientific papers and articles broken down
by geography and subject. The site is by Springer.
Business Week Business School Comparator
is said to use XQuery to let users compare universities and
business schools; it didn't seem to work for me, so maybe IE only?
Or maybe I'm not cut out for business.
Business Exchange
, another Business Week site, uses XQuery to drive a site where, it
says, usiness professionals can collaborate and network
around business topics.
CQ Legislative Impact
is
a tool to explore how pending US legislation might affect
existing laws.
Data Request Broker
DRB, at Gael Consultant, is an open source Java API for processing
heterogeneous data. It includes XQuery and Scema support. License is LGPL.
The
Dolley
Madison Digital Edition
by the University of Virginia Press.
fromoldbooks.org
has an
image search engine
powered by XML Query; you can see the text of the queries
(follow the About link on the Search page). This is also used
by
Liam Quin
's
Photograph
search page
MarkMail
is an XQuery-based
application for searching and visualising mailing lists.
The
New England Journal of Medicine
uses XQuery to search and retrieve comprehensive case summaries and
graphical icons that identify available supplemental content such as
lab reports, radiological scans, histopathology slides, and photos
associated with a particular case record.
O'Reilly Labs
use
XQuery to power code search, image search,
statistics and more.
Pop Culture Universe
is a Web site about American popular culture, including movies,
books and music, with over 300
publications indexed and searchable.
Springer
Images
uses XQuery
to search and retrieve scientific images, photos, tables, charts etc. for researchers.
Springer Exemplar
provides a full-text interface to large numbers of scientific
and technical journals, together with tools for narrowing down
search results.
Wiley
Custom Select
is a Web site for creating custom course books.
Worldcolor
has a custom publishing system using XQuery; they have
Flash demo.
Have you got a Web site that's powered by XML Query?
A success story to share? Contact liam at w3.org.
Users
XQuery: choosing an implementation
There are over 40 different software packages that
support XML Query in some way. Things to look for
include availability of support, platforms, price,
performance, all the usual issues, but you should also
ask whether the software supports the final syntax from
the W3C Recommendation or implements an earlier draft.
Another XML Query specific feature is support for
XML files, for fetching documents via HTTP, and for
connecting to relational (or other) data sources: that is,
whether the package lives up to the XML Query promise of
unifying access to many different forms of information.
List of XQuery Implementations
Learning
There are some books listed; there are also people
offering training and tutorials. If there is anything
you found particular helpful,
let us know
There are also some mailing lists devoted to XML
and to XML Query. You should look at the archives of each list
before posting; you'll also need to subscribe to the list before
you can post to it in most cases.
www-ql
This is the W3C public mailing list on query languages, including (but not
limited to) discussion on the XML Query project.
Do not use this to send comments on the specification, such as errata or feature
requests; see the Status section in each specification for instructions on
how to send comments to the Working Group.
xquery-talk
A mailing list hosted at x-query.com, especially for discussing XQuery.
xml-dev
Probably the most widely-known list for discussing XML.
Reading the Specs
W3C Specifications are aimed first and foremost
at programmers writing implementations of them.
We also try to make them readable for people trying
to learn the language—but given a choice between
making a standard precise and making it easy to read,
we have to make it precise.
If you are fairly technical, you could start by
reading the XML Query specification, and the
XQuery Use Cases document has some examples.
Many people would rather look for a book or tutorial.
Implementers
XQuery for the implementer: hard core query
Implementers: what would you most like to see here?
What would have helped you the most?
The XQuery Test Suite
W3C test suites exist to show that specifications
can be implemented. They are testing the specs, not the
code!
The QT 3.0 Test suite
is for people implementing XQuery 3, XPath 3, Functions and Operators 3 and related specifications.
XQuery Update Facility 1.0 Test Suite
XQuery and XPath Full Text 1.0 Test Suite
(Joint with the XSLT WG)
The much older
XQuery 1.0 Test Suite
is no longer used.
Static Typing and Formal Semantics
XPath 2 has
typed values
; that is, the language
associates a value type with each expression, variable or
function. The set of possible types is that defined by
W3C XML Schema, augmented by user-defined types derived from
those basic Schema types using an external schema. The way
in which an XPath or XQuery system derives and checks the type of
an expression is defined formally, using a mathematical notation,
in the
XQuery 1.0 and XPath 2.0 Formal Semantics
Recommendation.
Note that both external W3C Schema support and static typing
are optional features, so not all implementations support them.
Conformance Statements
You will often see things in the specifications marked as
being
implementation defined
. You must document
what your implementation does for each of these.
Documents
Specifications and Working Group Notes
The W3C XML Query Working Group has published a lot
of documents. Many of these were done together with the
XSL Working Group
and
are marked Joint.
Both of these Working Groups also met with the
W3C XML Schema Working Group
to make sure our specifications all work together.
First, the main XML Query documents:
XQuery 3.1: An XML Query Language
(W3C Recommendation)
XML Syntax for XQuery 3.1 (XQueryX)
(W3C Recommendation)
XML Query (XQuery) 3.1 Requirements
(W3C Working Group Note)
XML Query 3.0 Use Cases
(W3C Working Group Note)
Building a Tokenizer for XPath or XQuery
(Joint Note)
XSLT and XQuery share a lot of the same functionality:
XSL Transformations (XSLT) Version 2.0
(by the XSL Working Group)
XSL Transformations (XSLT) Version 3.0
(by the XSL Working Group)
XQuery and XSLT both use XPath:
XML Path Language (XPath) 3.1
(W3C Recommendation; Joint)
XPath in turn is built on a number of Joint specifications :
XQuery and XPath Data Model
(W3C Recommendation; Joint)
XSLT and XQuery Serialization
(W3C Recommendation; Joint)
XQuery and XPath Functions and Operators
(W3C Recommendation; Joint)
The XML Query and XSL Working Groups developed Full-Text Search for XPath and XQuery:
XML Query and XPath Full-Text Requirements
(Joint)
XML Query and XPath Full-Text Use Cases
(Joint)
XQuery 1.0 and XPath 2.0 Full-Text
(Joint)
The XML Query Working Group developed an update facility for XQuery; this
lets you write Query expressions that change documents and perhaps save the result.
XQuery Update Facility
XQuery Update Facility Requirements
XQuery Update Facility Use Cases
The XML Query Working Group is no longer working on
Scripting Extensions for XQuery
The goal was to investigate whether adding imperative (procedural)
features such as variable assigment and explicit sequencing to
XQuery makes the language significantly more powerful or
easier to use.
XQuery Scripting Extension 1.0
XQuery Scripting Extension 1.0 Requirements
XQuery Scripting Extension 1.0 Use Cases
News
Recently added...
Send your XQuery-related news item to
liam@w3.org, with [XQuery] in the Subject.
Note, I am sorry that sometimes I miss announcements.
I get hundreds, sometimes thousands, of messages in a day.
If your announcement does not appear within one week,
send it again and please accept my apologies!
to the RSS feed.
XQuery 3.0, XPath 3.0 and supporting specs now W3C Recommendations
Fri, 11 Apr 2014
XQuery 3.0 is a W3C Recommendation
along with XQueryX, XPath 3, XDM 3, Serialization 3 and of course functions and Operators 3.
BaseX 7.8 Released
Wed, 12 Feb 2014
BaseX 7.8
was released today;
it adds a project view, enhancements to the built-in editor,
speedups to insert, delete, XQuery functions and more,
and includes enhancements to the the XQuery add-on modules
such as JSON , Full-Texxt and ExPath File. The software is
also now available in Russian and Spanish.
XMLSpy 2014
Sat, 14 Dec 2013
Altova has released
XML Spy 2014
with support for XQuery 3.0, XPath 3.0, XSLT 3.0 draft and
also XML Schema 1.1 using the RaptorXML engine.
Apache Lux
Wed, 06 Nov 2013
Lux
release 0.11; includes moving to Saxon 9.5, Solr 4.4,
experimental SolrCloud support.
BaseX 7.7 Released
Wed, 07 Aug 2013
BaseX 7.7
was released today;
it includes support for the XQuery 3.0 Candidate Recommendation,
many new features and performance enhancements,
improved support for large databases,
and a birthday cake for Leo.
Zorba 2.9 released
Mon, 24 Jun 2013
Zorba 2.9
was released today; Zorba is an open source XQuery implementation in C++ that
also includes a JSONiq implementation. This release increases
XQuery 3 support (including higher order functions) and also makes
changes to the JSONiq implementation.
Xidel HTML/XML data extraction tool 0.7
Fri, 29 Mar 2013
Xidel
is a tool for extracting data from Web pages using a combination
of CSS selectors, XQuery and JSONiq.
[since renamed to Xidel]
W3C Java Applets updated
Tue, 29 Jan 2013
W3C Java Applets
have been updated to incorporate the latest versions of the specifications for
the XPath and XQuery 3.0 Candidate Recommendations as well as for the
1.0 and 2.0 documents.
W3C Recommendations!
Tue, 23 Jan 2007
W3C Recommendation Status for
XQuery 1.0: An XML Query Language
XML Syntax for XQuery 1.0 (XQueryX)
and
XML Path Language (XPath) 2.0
, as well as the supporting specifications,
XQuery 1.0 and XPath 2.0 Functions and Operators
XQuery 1.0 and XPath 2.0 Data Model (XDM)
XSLT 2.0 and XQuery 1.0 Serialization
and of course
XQuery 1.0 and XPath 2.0 Formal Semantics
In addition,
XSL Transformations (XSLT) Version 2.0
by the XSL Working Group is also a W3C Recommendation.
Sun, 03 Dec 2006
Micro XQuery Engine 0.1
Micro XQuery Engine 0.1
was released.
Mon, 20 Nov 2006
oXygen Editor 8.0
oXygen editor 8.0
includes debugging support for both XML Query and XSLT,
with support for Berkeley XML DB, IBM DB2 Pure XML,
eXist XML Database, MarkLogic, Microsoft SQLServer 2005,
Oracle 10g R2, RainingData TigerLogic XDMS, SoftwareAG Tamino
and XHive XML Database.
[older] *-->
Patent Disclosures
The XML Query Working Group operates under the Royalty Free
terms of the W3C Patent policy.
Patent disclosures relevant to the specifications produced by the XML Query
working group can be found
in the Implementation of the W3C Patent Policy (IPP)
XML Query IPP status page
and, for XSL and joint specifications the
XSL WG IPP status page
Older disclosures are
on the XML Query Working Group's patent disclosure
page at
Specifications that are joint work with the XSL working group have also the
additional patent disclosures provided by the XSL wg at
Discussion/Feedback:
Email
: use
member-query-feedback@w3.org
to comment/suggest new content for this page, or if for some reasons you need to directly contact the W3C XQuery responsibles; otherwise, please use the mailing lists listed below
Mailing lists
www-ql@w3.org
The public mailing list on query languages, including (but not
limited to) discussion on the XML Query project. This list
originated from the
QL'98
w3c-ql@w3.org
mailing list, and has now become a public list (see the
migration
announcement
).
Only subscribed users can post to this
list
. Subscription is open to everybody: to subscribe or
unsubscribe just send a message to
www-ql-request@w3.org
with
your request. The list is publicly archived at
public-qt-comments@w3.org
Note: before posting to this mailing list, be sure
to read the
Status
section in the document on which you are
commenting. Most of our documents now ask you to send
comments using bugzilla.
This public mailing list is used to submit comments on the
publications of the XML Query and XSL working groups.
This is
not a discussion list (use
www-ql@w3.org
instead)
, and so
you shouldn't subscribe
: this list is just a way for
people to provide their comments to the XML Query and XSL WGs, and
for the WGs to reply. The list is publicly archived at
Implementations
XML Query Implementations
If your implementation is not here, or if you know of an
implementation that is not listed, send liam@w3.org
the details!
Software that implements the
XQuery and XPath Full Text Facility
is so marked in this list.
There is a separate list of
XPath 2
implementations.
The W3C
XPath and XQuery Grammar Test Page
features Java applets that read expressions and show the resulting parse tree.
Abacus Systems'
Relational XQuery
supports both relational data (via JDBC) and other sources
including XML files, and
also claims XQJ (XQuery for Java API) conformance. Includes
a GUI for creating and editing queries. 30 day evaluation.
[2011-03-25: Last update July 2009; project homepage is gone.
Altova GmbH
XMLSpy 2006
includes an XQuery Debugger, a code generator for mapping between
Schemas, and
AltovaXML
Query Processor
which handles both XSLT 2 and XML Query 1.0
[30-day free trial]
Apple's
Sherlock
for Mac OS X; see also their
XML Query Extension functions
BEA's
Oracle Data Services Platform
[90-day free trial].
BEA was an active participant in the XML Query Working Group;
the company was bought by Oracle, also an active participant.
Berkeley Lab's
Nux
, an open source
Java in-memory toolkit for XML, XQuery, XPath, schema validation,
fuzzy fulltext similarity search and related technologies
using Saxon, XOM, Xerces and JAXB
[open source under a BSD-style license].
Implements the XQuery Update Facility
Full-Text Support
latest release seems to be June 2006.
Bluestream Database Software Corp.'s
XStreamDB
a native XML database server and full text support,
aimed primarily at DITA.
[commercial with trial download]
David Carlisle's
xq2xml
converts XQuery to XML, to XQueryX and to XSLT.
Cerebra Inc.'s
Cerebra Server
supports XQuery, OWL-DL and RDF, and can connect to external databases,
but their Web server no longer responds.
Cognetic Systems's
XQuantum
implements XML Query 1.0 in an XML-native indexed data store.
They have a Web page demonstrating the XQuery Use Cases, and
support static typing and modules as well as some
full-text extensions.
[Windows and Linux; 30-day evaluation]
Full-Text Support
DataDirect's
DataDirect XQuery (tm)
an embeddable component for XQuery that implements the
XQuery for Java(tm) API (XQJ)
[Java; 15-day trial download].
DataDirect participates in the XML Query Working Group.
DataDirect's
Stylus Studio 5.0
(XQuery, XML Schema and XSLT IDE).
DataDirect participates in the XML Query Working Group.
EMC's
xDB
this was formerly X-Hive, and EMC also owns Documentum.
Their xDB product claims to be a native XML database in Java,
with full XQuery support. [commercial, free evaluation download]
eXist
has
a Java-based native XML database with an XQuery interface.
[Open source, GNU LGPL.]
Implements the XQuery Update Facility
The open source
GCX
a streaming in-memory XQuery engine with static and
dynamic buffer minimzation developed originally at Saarland University
[open source]
MXQuery
from ETH,
a research project; the
sourceforge page
says, The Micro XQuery Engine is a low-footprint, extensible
implementation of XQuery 1.0 including extensions like the XQuery Update
and XQueryP. It supports streaming execution and runs on all devices
support CLDC 1.0 upwards. [Open source, BSD/Apache license].
ETH is an active participant in the XML Query Working Group.
Implements the XQuery Update Facility
Fatdog Software's
XQEngine
Java.
[Open source: GPL or as negotiated].
Full-Text Support
[last update 2009-07-18]
GAEL's
Derby
provides a Java API via their Data Request Broker.
There is extensive support for data analysis, including
plotting graphs and making tables.
Galax
Open-source (in OCAML), with a
Galatex
full text search implementation.
The authors of Galax include a number of
active participants in the XML Query Working Group, both
psat and present.
Full-Text Support
GNU's
Qexo (Kawa-Query)
by Per Bothner.
Compiles XQuery on-the-fly to Java bytecodes.
Based on and part of the
Kawa
framework.
Qexo implements
the optional XQuery static typing feature.
[Open-source under the GPL-like Kawa License].
HXQ
a compiler from XQuery to Haskell; appears to be an imcomplete
research project, but said to be already useful. Open source,
license terms unclear from the Web page.
Ipedo
's
XIP
includes a "dual core" SQL + XML Query engine (XMLDB).
IBM's
WebSphere Application Server Feature Pack for XML
supports
XPath 2.0, XSLT 2.0, and XQuery 1.0,
with a Java API that unifies all three languages.
[Free download; requires WebSphere Application Server, which
is commercial]
IBM's
xqnsta
XQuery Normalizer and Static Analyzer (XQNSTA) is a Java API and GUI
for normalizing and computing the static type of XQuery expressions.
IBM is an active participant in the XML Query Working Group.
IBM's
DB2 9
stores XML in its native format and provides support
for
XQuery
IPSI's
IPSI-XQ
[java; free download]; this seems to have moved to
sourceforge
. Last update 2001-11-29.
Ispras Modis'
Sedna
Native XML DBMS in C/C++ and Scheme; partial support for XML Query.
Includes an Apache HTTP module, and APIs for .NET, Python and
Chicken Scheme. There is also a Firefox extension,
XqUSEme
and a special build of firefox,
XDIB
(XQuery In a Browser), for unning client-side XQuery scripts.
[Open source under the Apache License].
Liquid Technologies'
Liquid XML Studio
features an XQuery Debugger [30-day trial for Microsoft platforms].
Apache
Lux
combines the Lucene/Solr search index with the
Saxon XQuery/XSLT processor, adding XQuery
support to Solr and adding persistence to Saxon. [Open source.]
MarkLogic's
MarkLogic Server 4.0
(formerly known as Content Interaction Server).
There is also a
technical overview document
. Commercial, with free download restricted to 100 Megaybytes of data. A limited duration trial license is also available, limited
to 1G of content.
Full-Text Support
Implements the XQuery Update Facility
MarkLogic is an active participant in the XML Query Working Group.
Microsoft's
SQL Server 2005 Express
with XML Schema, XPath 2, and XML Query support. Later versions of SQL Server continue to support
XQuery.
Microsoft is an active participant in the XML Query Working Group.
CWI
's
MonetDB/XQuery
is
an XQuery system that also supports
XQUF updates.
It is based on the Pathfinder compiler developed at TU Munich,
and aims at achieving high performance.
Open Source (adapting the Mozilla Public License).
Implements the XQuery Update Facility
OpenLink Software's
Virtuoso Universal Server
claims to support XSLT 1.2 (?! their link points to the
XSLT 1.1 draft), XQuery and SQLX.
Oracle Berkeley DB XML 2.0
, formerly Sleepycat's,
an embeddable native XML database with support
for XQuery 1.0 (July 2004 draft), implemented in C++, with
interfaces for Java, Python, Perl and PHP. Open source.
Oracle is an active participant in the XML Query Working Group.
Full-Text Support
Oracle's
Oracle XQuery
implementation
is part of the Oracle Database product
[multi-platform; seems to be a free binary download].
Oracle is an active participant in the XML Query Working Group.
Patternist
an XQuery 1.0, XSL-T 2.0 and XPath 2.0 implementation that provices a C++ API
(open source under GPL, uses TrollTech's Qt library)
PHP XML Classes
includes XqueryLite, a PHP implementation from 2002.
[open source]
Politecnico di Milano's
XQBE and other XQuery products
QuiLogic's
SQL/XML-IMDB
supports a mixure of SQL statements and XQuery expressions.
[Free trial requires a restart every hour]
RainingData's
TigerLogic XDMS
XML Data Management Server
for Sun Solaris and Microsoft Windows
[free trial].
Renmin University of China's
OrientX
a native XML database system in C/C++
developed under Renmin University of China.
[open source]
Saarland University Database Group's
FluXQuery [no longer maintained], an extension of the XQuery language, FluX, that supports event-based query processing and the conscious handling of main memory buffers.
Obsoleted by GCX, but the web page is still
mirrored
at Cornell.
Saxonica's
Saxon
implements both
XML Query and XSLT 2.0.
Available in a schema-aware version as a commercial
product, and without schema support as open source.
Saxonica is an active participant in the XML Query Working Group.
Software AG's
Tamino XML Server
Full-Text Support
Tamino XML Query Demo
Sonic Software's
Sonic XML Server
[30-day trial]
The Universität Konstanz's Database and Information
Systems Group's
BaseX
(open source/GPL)
Implements the XQuery Update Facility
Full-Text Support
videlibri
, an open
source XPath 2 implementation in Free Pascal by
Benito van der Zander. Further work continues under the name Xidel (q.v.).
The Apache Software Foundation's
VXQuery
says,
The focus is on the evaluation of queries on large amounts of XML data. Specifically the goal is to evaluate queries on large collections of relatively small XML documents. To achieve this queries will be evaluated on a cluster of shared nothing machines.
The University of Texas at Arlington Computer Science Department
has people working on
XQP
XQuery Processing on a P2P System.
[Java; open source]
The Univerisity of Antwerp
's
Blixem LiXQuery engine
implements a subset of XQuery intended for teaching
(the download link no longer works, as of September 2009).
Worcester Polytechnic Institute's
RainbowCore
[Java. available at no charge and without warranty].
XBird
a light-weight embeddable
XQuery processor and database system written in Java,
with a distributed XQuery processor.
[open source]
Xidel
by Benito van der Zander, is an open source implementation (in
Pascal) of
XPath 2, XQuery 1 with some XPath 3 and XQuery 3 features, JSONiq,
CSS selectors and templates, with the aim of making a system
to scrape Web sites easily.
XMLmind
's
Qizx
comes
in three versions: (1) an open source one (Qizx/open);
(2) a commercial implementation, Qizx/db,
with an indexed native XML database and full-text support,
and (3) Qizx/db Free Engine, a freely downloadable version of Qizx/db
but that has a database size limit of approximately
one gigabyte of XML.
Implements the XQuery Update Facility
Full-Text Support
*-->
Xpriori's
XMS
native XML database, with XPath2.0/XQuery access language support
[.Net on Linux and MS Windows;
free unlimited download for development purposes.]
XQuare Group and Universite' de Versailles Saint-Quentin's:
XQuare
Fusion and XQuare Bridge
open-source, used to be called xQuark
(see also the
Xquare home page
XQIB
, XQuery In the Browser,
an XQuery plugin for Microsoft Internet Explorer
[open source]
XQilla
C++ implementation based on pathan and Xerces-C.
Open source (BSD/Sleepycat license).
Sleepycat (Oracle) is an active participant in the XML Query Working Group.
XQSharp
XQuery for the .NET framework, from
CBCL
Includes Schema support and static typing.
XQSharp was previously known as Anglo.
[commercial; free for non-commercial use]
CBCL is an active participant in the XML Query Working Group.
Xyleme's
Xyleme LCMS
[commercial]
Zorba
, an open
source portable embeddable C++ implementation of XQuery.
There are also PHP, Python
and Ruby APIs. [open source, Apache licence]
Unconfirmed Implementations
Please send liam@w3.org any information about these;
I have tried to contact people where possible.
Actuate's
Actuate 8
incorporates Nimble's XQuery implementation.
The Summary of New Features requires a registration (!) so
I cannot be sure if this still implements XML Query.
ACL's
Blackpearl 4 platform
supposedly with an embedded XQuery engine but this is not
mentioned on their Web site as far as I can tell.
The rights to Blackpearl were bought by
ACL
who also do not seem to talk about XML Query.
AGiLiENCE's
XPeerion
AGiLiENCE is a spin-off from Siemens AG. The Web page
seems not to mention XML Query.
ATS' BizQuery [30-day free trial; no product link]
Axyana Software's
Qizx/Open
is now marketed by
XMLmind
[Java, open source under the Mozilla Public License].
Full-Text Support
The
Mono Project
implements a draft of XML Query, although this may
not be active. [open source]
Xenos
purchesed
XML Global in 2003, and it is not clear from their
Web page whether they still have XQuery support.
XQuench
has
not released any files since 2001 and is probably defunct.
XPath 2 Implementations
Software that implements XPath 2.0, but not XML Query or XSLT 2
AquaPath
by Todd Ditchendorf
is a free Cocoa-based developer tool for Mac OS X Tiger that allows
you to evaluate XPath 2.0 expressions against any XML document and view
the result sequence in a dynamic tree representation.
The
Mono Project
implements a draft of XPath 2.0 and XQuery. [open source]
NSXML
from Apple Computers
includes support for XQuery 1.0 and XPath 2.0; it is part of Cocoa.
Pathan
from Decision Soft [open source, uses Xerces-C]
PathEnq
from Philip Fearon (an online service) can handle XML/HTML and also
HTML 5. It uses Saxon-CE running in the browser.
Source code on
github
PsychoPath
is an
open source XML Schema Aware XPath 2.0 Processor written in Java
under the EPL license, as part of the
Eclipse XSLT Project
Saxon
can also be used
as a standalone XPath 2 engine, both on Java and .NET
[open source]
Microsoft's
SQL Server 2005 Express
has XML Schema, XPath 2 and XML Query support. [commercial]
Virtual XML Garden
from IBM has XPath 2.0 support and also supports some of XQuery.
[commercial; source available]
Altova GmbH
XMLSpy
includes an XQuery Debugger, a code generator for mapping between
Schemas, and
AltovaXML
Query Processor
which handles both XSLT 2 and XML Query 1.0
[30-day free trial]
Related Products and Resources
The following is a (non-comprehensive) list of announcements of products
that will include some support for XQuery, or that are of related nature:
XQDT
, a plugin to
add XQuery support to the Eclipse environment.
The
jEdit XQuery adapter plugin
The
VIM Syntax coloring
for
XQuery
The
BumbleBee test
platform
for XQuery engines
Java Specification Request for an
XQuery API for Java
(XQJ)
set of reusable XQuery function examples
from Priscilla Walmsley that she plans to grow over time;
includes descriptions of the built-in functions from her book (see below).
NIST's
XQuery Functions
and Operators test suite
Sourceforge's JXQuery:
Open-source.
Sourceforge's Kweelt:
Implementation of Quilt, an earlier query language. Open-source.
Publications
Books
I have tried to indicate where authors participated in
the XML Query Working Group, sent comments on the specifications,
or have written implementations themselves. This does not
necessarily make them good writers, but it may help you to
understand their point of view and their connection with
XML Query.
Books that I have received more recently are at the top of the list.
An XQuery Wikibook
by Chris Wallace, Dan Mcreary and Kurt Cagle
Querying XML : XQuery, XPath, and SQL/XML in context
by Jim Melton and Stephen Buxton;
The
Morgan Kaufmann
Series in Data Management Systems, 2006.
The book also has its own
Querying XML Web page
[Both authors have participated heavily in the development
of XML Query; Jim Melton is currently the co-chair of the
W3C XML Query Working Group. - Liam]
XQuery: The XML Query Language
by Michael Brundage; Addison-Wesley Professional, February 2004.
With a foreword by Michael Rys.
Book web site at
www.qbrundage.com/xquery/
[The first half of the book is an introduction to XQuery,
including an interesting chapter on Idioms. The second half
is a reference. - Liam]
XQuery from the Experts
edited by Howard Katz, with chapters by
Don Chamberlin, Denise Draper, Mary Fernandez, Michael Kay, Jonathan Robie, Michael Rys, Jerome Simeon, Jim Tivy and Philip Wadler.
Addison-Wesley Professional, September 2003.
There are two chapters online at
www.fatdog.com
[Although this book is older, the text is a very
happy mix of tutorials, design rationale and examples.
The authors have been heavily involved in the
design of XML Query, and most have been active memebers
of the W3C XML Query Working Group; the editor, Howard Katz,
has also made his own open-source implementation. - Liam]
I have not seen the following books:
XQuery
by Priscilla Walmsley.
O'Reilly; expected late 2006. The first half is available through their "Rough Cuts" program (at
) and at
Priscilla's information page at
[I have not seen this book. Priscilla made many helpful comments on the specifications - Liam]
XQuery Kick Start
by James McGovern, Per Bothner,
Kurt Cagle, James Linn and Vaidyanathan Nagarajan; Sams, September 2003.
[I have not seen this book. Per Bothner made many helpful
public comments on the specifications - Liam]
Early Adopter XQuery
by Dan Maharry, Rogerio Saran, Kurt Cagle, Mark Fussell and
Nalleli Lopez.
Wrox Press; January, 2002.
[This book was probably too early to be of use today, although
I have not seen it to be sure. I am listing it for
completeness. Michael Brundage has written that it is out of date, but
that it reviewed some XQuery APIs - Liam]
Querying XML with XQuery (Advances in Database Systems)
by Yannis Papakonstantinou and Ioana Manolescu.
Springer; March 2006
[forthcoming, I assume.
Ioana participates in the XML Query Working Group. - Liam]
XQuery - Grundlagen und fortgeschrittene Methoden
by Wolfgang Lehner. dpunkt.verlag, January 2004; this book
is downloadable from Amazon for US$30.
Tutorials
A Google search for
"(XQuery tutorial"|"XML Query tutorial")
produced over 150 matches (Google actually said
about 30,500
but this turned out to mean
exactly 153
).
Other Pointers
To suggest a new pointer,
send an email to member-query-feedback@w3.org.
IBM Systems Journal Vol 45, No. 2, 2006 - Celebrating 10 Years of XML
has a number of articles on
or relating to XML Query.
Choosing Between XSLT 2.0 and XML Query 1.0
by Mike Kay (Saxonica),
a talk given
at the WWW 2006 conference in May 2006.
An
XML based architecture for Web 2.0 applications
by Daniela Florescu (Oracle Corp.),
a talk given
at the WWW 2006 conference in May 2006.
Jonathan Bruce's blog
covering XQuery topics from the perspective
of .NET and Java developers, including some XQJ coverage.
Jonathan Robie's XQuery Blog
Oxygen XML's editor includes an
XQuery debugger
that relies on Saxon. The editor is in Java and
runs on Linux and Unix as well as on Microsoft Windows and Mac OS X.
A brief article,
XQuery 1.0 is Nearing Completion
by
Andrew Eisenberg and Jim Melton,
ACM SIGMOD Record, Vol. 34, No. 4, December 2005.
Blooming FLWOR - An Introduction to the XQuery FLWOR Expression
, a tutorial
by Dr. Michael Kay, the sequel to
Learn XQuery in 10 Minutes
(see next item).
Learn XQuery In 10 Minutes
by
Dr. Michael H. Kay
Introduction to XQuery
a tutorial by Priscilla Walmsley (updated to align with June 2006 CR documents)
Essential XQuery - The XML Query Language
, tutorial, 2004.
A Light but Formal Introduction to XQuery
, research/educational article, Dec 2004.
Using XQuery in ASP.NET
article/tutorial by Pieter Siegers, Aug 2004.
XPath 2.0 Programmer's Reference
book by Wrox, Aug 2004.
XQuery: The XML Query
Language
, book by Addison-Wesley, Feb 2004
Learn XQuery and
ASP.NET Tutorial
, Jan 2004.
XQuery
Implementation
, Oct 2003.
XQuery: A
Guided Tour
, Sep 2003.
XQuery
from the Experts: A Guide to the W3C XML Query Language
, book by
Addison-Wesley, Sep 2003.
XQuery
1.0: Primer
, Jul 2003.
XQuery,
the Query Language of the Future
, Jul 2003.
Writing and
Debugging XQuery Web Apps with Qexo
, Jun 2003.
Interactive
Web Applications with XQuery
, May 2003.
Is for XQuery
, May 2003.
Five Practical XQuery
Applications
, May 2003.
Processing
RSS
, April 2003.
XQuery
Kick Start
, book by Sams (2003).
An
Early Look at XQuery
, SIGMOD record, vol.31, n.4, 2002.
XQuery:
An XML query language
, tutorial overview, IBM Systems Journal 41(4),
2002.
Early
Adopter XQuery
, book by Wrox (2002).
A Data
Model for Strongly Typed XML
, December 2002.
Process
XML using XML Query
, tutorial, 2002.
What is
Xquery?
, introductory article, 2002.
Presentation on
XPath and XQuery
held at the 11
th
International World Wide
Web Conference
, Hawaii, May,
2002.
What's new in
XPath 2.0
, introductory article, March, 2002.
Presentation on
XML Query
held at the 20
th
Unicode Conference, Washington,
January, 2002.
XQuery
Formal Semantics State and Challenges
, SIGMOD record, vol.30, n.3,
2001.
Presentation on
XML Query
held at the 10
th
International World Wide Web
Conference (
WWW10
), Hong Kong, May,
2001.
Presentation on
XML Query
held at the 9
th
International World Wide Web
Conference (
WWW9
), Amsterdam, May 19,
2000.
Where it all started: the
Query Languages'98
(QL'98)
workshop, with its unique collection of contributed
works.
The
XML Activity Statement
also explains
the W3C's work on query language,
The XML Query
charter
The
XML Query Working Group page (W3C
members only)
Contacting Us
To contact the XML Query and XSL Working Groups,
you can send email to public-qt-comments at w3.org
To report errors
in the specification please use bugzilla, as described in the
Status section at the start of each specification.
To comment on this page, send mail to
liam at w3 dot org
First created by Massimo Marchiori on April 2000.
Page redesigned in 2007 by
Liam
images from
www.fromoldbooks.org
used by permission.
Page maintained by
Liam Quin
Current: $Revision: 1.221 $ $Date: 2017/04/22 18:49:04 $
W3C
MIT
ERCIM
Keio
), All Rights Reserved. W3C
liability,
trademark
document use
and
software licensing
rules apply. Your interactions with this site are in accordance with our
public
and
Member
statements.