The un-queried life is not worth living
Socrates (Plato, The Apology, 38a)

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

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 a 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

The XQuery Test Suite was developed primarily to help the XML Query Working Group show that the specification could be implemented in such a way that queries would work on multiple systems - that is, interoperably. We are not currently doing active work on the test suite, but implementers continue to find it useful. It is not a conformance test suite: implementers are responsible for producing their own statements of conformance, and W3C does not have the resources to test or verify those statements.

Related Test Suites

There are additional test suites associated with XPath and XQuery.

XQuery Update Facility 1.0 Test Suite

XQuery and XPath Full Text 1.0 Test Suite (Joint)

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 1.0: An XML Query Language (W3C Recommendation)

XML Query (XQuery) 1.0 Requirements (W3C Working Group Note)

XML Query 1.0 Use Cases (W3C Working Group Note)

XSLT 2.0 shares a lot of the same functionality:

XSL Transformations (XSLT) Version 2.0 (by the XSL Working Group)

XQuery 1.0 and XSLT 2.0 both use XPath 2.0:

XML Path Language (XPath) 2.0 (W3C Recommendation; Joint)

XPath in turn is built on a number of Joint specifications :

XQuery 1.0 and XPath 2.0 Data Model (W3C Recommendation; Joint)

XSLT 2.0 and XQuery 1.0 Serialization (W3C Recommendation; Joint)

XQuery 1.0 and XPath 2.0 Formal Semantics (W3C Recommendation; Joint)

The XML Query and XSL Working Groups are developing Full-Text Search for XPath 2.0 and, of course, XQuery 1.0; when finished, this will then be available for use in XQuery and XSLT:

The XML Query Working Group is developing an update facility for XQuery; this lets you write Query expressions that change documents and perhaps save the result.

The XML Query Working Group is working on the next version of XML Query, XQuery 1.1.

The XML Query Working Group is working on Scripting Extensions for XQuery. The goal is 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.

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!

Subscribe to the RSS feed.

BaseX 7.0.01 Released

Sun, 23 Oct 2011

BaseX 7.0.01 has been released; BasX 7 can store fils of any format, is said to be faster, includes support for JSON, accessing SQL databases, digital signagures, and more language support for Full Text searching.

W3C Java Applets updated

Thu, 15 Sep 2010

W3C Java Applets have been updated to incorporate the latest versions of the specifications for the XPath and XQuery 3.0 drafts as well as for the 1.0 documents.

CBCL Releases XQSharp 2.0

Fri, 21 Jan 2011

XQSharp 2.0 released. This version brings full XSLT 2.0 support to the .NET Framework. XQSharp is an XSLT 2.0 and XQuery 1.0 processor for the .NET Framework.

BaseX 6.5 Released

Mon, 17 Jan 2011

BaseX 6.5 has been released; many new features from the XQuery 3.0 draft, Full Text, function libraries, text compression, enhanced collection suppoer.

title

Wed, 12 Jan 2011

OxygenXML released <oXygen> XML Editor and Author version 12.1, with improvements to XQuery and XSLT debuggers, including XSLT 2.0 and XQuery Types in Variables and XWatch Views and enhanced XSLT Context Information., amongst many other changes.

Qizx 4.1 released

Wed, 27 Oct 2010

Qizx 4.1 includes more of the features from the draft for XQuery 1.1 [now called XQuery 3.0], support for non-XML documents, and can store over 1,000 Gigabytes of XML.

XQSharp 1.5 Released

Tue, 07 Sep 2010

CBCL Released XQSharp 1.5 which includes large performance improvements especially for recursive functions.

Zorba 1.4 released

Wed, 28 Jul 2010

Zorba 1.4 (XQuery Processor) has been released. This release comes with an extended function library and support for the [draft] XQuery 1.1 switch expression.

MarkLogic XQJ API released

Sat, 24 Jul 2010

MarkLogic XQJ API has been released.

Sedna XDIB released

Tue, 20 Jul 2010

XDIB (XQuery In a Browser) is a build of the Firefox Web browser that incorporated XQuery support using sedna.

Qizx 4.0 released

Wed, 16 Jun 2010

Qizx 4.0 is now available; new features include HTTP server, some initial scripting support, and XQuery Services.

W3C Java Applets updated

Mon, 01 Mar 2010

W3C Java Applets have been updated to incorporate the latest versions of the specifications for XPath 2.1, XQuery 1.1, Full Text and Update.

BaseX 6.0 Released

Sun, 11 Jan 2009

BaseX 6.0 has been released. New features include an implementation of XQuery Update, enhanced client/server architecture and extended XQuery Full Text features

IBM XML Feature Pack Released

Fri, 11 Dec 2009

IBM announced support for XPath 2.0, XSLT 2.0, and XQuery 1.0 via the WebSphere Application Server V7.0 Feature Pack for XML 1.0.0.0 - IBM says that this release fully supports the W3C standards, introduces a Java API that unifies all three languages, and is optimized for performance and reliability in application server environments. See also the WebSphere announcement.

XQuantum 1.50 released

Tue, 10 Nov 2009

Cognetic Systems - XQuantum Server 1.50 - released for Windows and Linux Features include XQuery 1.0 conformance, static typing, query modules, and full-text search based on a subset of the draft standard. The server uses XML indexing and query optimization to access large XML data stores.

XQuantum 1.5 beta released

Tue, 15 Sep 2009

Cognetic Systems say they have released a beta version of XQuantum 1.5, with some full-text support, static typing, and modules.

XQJ for Sedna

Tue, 15 Sep 2009

An XQJ driver for Sedna has been released, conforming to the XQuery API for Java Test Compatibility Kit.

XQSharp Released

Tue, 15 Sep 2009

CBCL UK has released XQSharp for the .NET framework. All optional XQuery 1.0 features are supported, including modules, static typing, full namespace axis and schema import.

BaseX 5.7 Released

Wed, 02 Sep 2009

BaseX 5.7 has been released. New features include support for the XQuery Full Text draft, improved XQuery and index performance, enhanced XQuery editing facilities and improved client/server stability

Qizx 3.0 released

Fri, 22 May 2009

Qizx 3.0 is now available, with XQuery Full-Text support as well as speedups and memory improvements.

Qizx 3.0-beta released

Fri, 03 Apr 2009

Qizx Beta 3 is now available. new features include extensive Full-Text support as well as performance enhancements.

XBird added

Fri, 02 Jan 2009

XBird light-weight embeddable open source Java implementation added to the list of implementations.

BaseX 5.0 Released

Fri, 19 Dec 2008

BaseX 5.0 has been released. New features include Full-Text support, improved XQuery conformance, XQJ (XQuery for Java) and XAPI (XML:DB) APIs, as well as GUI improvements for interactions and visualizations.

Qizx and Qizx/open 2.2 released

Tue, 02 Dec 2008

Qizx Free Engine and Qizx/open 2.2 released; Qizx is an embeddable, high-speed, native XML index-based XML Query engine written in the Java language. New features in 2.2 include support of the draft XQuery 1.1 group by and for . . . window features, and a more liberal licensing scheme. The source code is also now available for purchase.

oXygen 10.0 released

Thu, 23 Oct 2008

oXygen XML Editor and Author version 10.0 has been released, and now includes the schema-aware XSLT 2.0 and XQuery processor from Saxonica, a new XML instance generator, tag completion based on schemas and XSLT stylesheets, integration of the Intel XML Software Suite, and more. Supports MarkLogic 4.0, Oracle 11g R1, SQL Server 2008, DB2 9.5, XHive 8, and Subversion 1.5.

MarkLogic Server 4.0 Released

Wed, 08 Oct 2008

MarkLogic announced their MarkLogic Server 4.0, inlcuding full support for XQuery 1.0 as well as the draft Update and Full-Text specifications. New features include geospatial search, additional content analytics, alerting, and entity extraction.

XQuery 1.1 First Public Working Draft

Sat, 24 May 2008

The W3C XML Query Working Group has released a First Public Working Draft of XQuery 1.1.

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 http://www.w3.org/2002/08/xmlquery-IPR-statements.

Specifications that are joint work with the XSL working group have also the additional patent disclosures provided by the XSL wg at http://www.w3.org/Style/XSL/Disclosures.

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 http://lists.w3.org/Archives/Public/www-ql/.
 
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 http://lists.w3.org/Archives/Public/public-qt-comments/.

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 1.0 and XPath 2 Full Text Facility is so marked in this list. There is a separate list of XPath 2 implementations.

The W3C XPath 2 and XQuery 1 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]. 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'sOracle 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 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 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] 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 NeoCore 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 Python and Ruby APIs. See also xqib. [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] 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) A 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: http://sourceforge.net/projects/jxquery. Open-source. Sourceforge's Kweelt: http://kweelt.sourceforge.net/. 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 http://www.oreilly.com/catalog/xquery/) and at Priscilla's information page at http://www.datypic.com/books/xquery. [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 <oXygen/> 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. X 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 11th 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 20th 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 10th International World Wide Web Conference (WWW10), Hong Kong, May, 2001. Presentation on XML Query held at the 9th 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


Valid XHTML 1.0! 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.194 $ $Date: 2011/10/24 00:47:38 $

Copyright © 2000-2006W3C (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 privacy statements.


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser