* XSLT and XQuery:
- XSL Transformations (XSLT) Version 2.0
- XSLT 2.0 and XQuery 1.0 Serialization
- XML Syntax for XQuery 1.0 (XQueryX)
* XQuery and XPath:
- XQuery 1.0: An XML Query Language
- XML Path Language (XPath) 2.0
- XQuery 1.0 and XPath 2.0 Data Model (XDM)
- XQuery 1.0 and XPath 2.0 Functions and Operators
- XQuery 1.0 and XPath 2.0 Formal Semantics
“These specifications have brought a new level of maturity to the XML world,” said Liam Quin, W3C XML Activity Lead. “We’re seeing people with literally millions of lines of XSLT transformations in production. The Working Groups have listened to the users, to people working with large collections of documents, to database people, to stock traders and news feeds, and we have produced an integrated set of specifications as strong for the enterprise as for the individual.”
XSLT 1.0 Experience and Success Fuels Version 2.0
XSLT 2.0 is a major revision to the very successful XSL Transformations language. XSLT transforms XML content into other formats, including other XML formats. As an example, one may use XSLT to transform XML output from a database into an XHTML Web site or set of print-ready XSL-FO documents. XSLT 2.0 standardizes many features that were previously only available as extensions, such as the ability to create multiple output documents or to create user-defined XPath functions. With stronger support for internationalization and richer tools for the programmer, XSLT 2.0 is better suited for the large-scale mission-critical deployment for which XSLT 1.0 is already being used.
In addition to new functionality, XSLT 2.0 introduces strong typing and supports the optional use of W3C XML Schema. Strong typing is a feature of enterprise-strength programming languages such as Java, C++ and C#, and is designed to reduce errors in programs, greatly reducing the cost of developing and maintaining large systems.
XML Query Adds Database Functionality to XML
Where XSLT is aimed primarily at transformations, XML Query brings the power of database search and select to XML. Like XSLT 2.0, XML Query shares the use of W3C XML Schema to give a strongly-typed programming or scripting language and relies on XPath 2.0 as the selection vocabulary. With XML Query, one can run cross-vendor cross-database joins between multiple forms of data, including XML documents, XML-native stores, relational database tables and more.
Standardization Brings a New Age for Middleware
XSLT 2.0 and XML Query 1.0 provide a standard for database integration. The Java Community Process has released initial work on XQJ, the XQuery API for Java, and the International Organization for Standardization (ISO) has already incorporated XML Query into SQL in part 14 of ISO SQL (SQL/XML). Connections between large-scale applications, databases, operating systems, Web services and Web servers have traditionally used middleware, that is, software that, on demand, converts and manipulates data between the formats used by various applications. With a standard way to integrate tools, a standard set of data formats and standard ways to query and manipulate those data formats, users of middleware will be able to focus on their higher-level business logic and can integrate new sources of data much more quickly. Many vendors have been quick to realize this and are already supporting the XQuery 1.0 and XPath 2 Data Model (XDM), bringing cost savings and new functionality to their customers.
Already Implemented, Additional Experience Sought
XQuery already benefits from significant implementation experience. Early implementors of earlier drafts of XML Query include IBM, Microsoft, Oracle, Apple, BEA and many others; there are also a number of open source implementations. In the first nine months of 2005 there were over 33,000 downloads of one open source implementation of XSLT 2 and XQuery (Saxon, by Michael Kay, editor of XSLT 2.0). The large number of implementations of XQuery are listed on the Public XML Query Web page.
The XSL Working Group and the XML Query Working Group, which produced this set of documents with extensive cooperation from the XML Schema Working Group, now request that implementors run the respective test suites and help demonstrate that the specifications are sufficiently precise to be implemented interoperably.
About the World Wide Web Consortium [W3C]
The W3C was created to lead the Web to its full potential by developing common protocols that promote its evolution and ensure its interoperability. It is an international industry consortium jointly run by the MIT Laboratory for Computer Science (MIT LCS) in the USA, the European Research Consortium for Informatics and Mathematics (ERCIM) headquartered in France and Keio University in Japan. Services provided by the Consortium include: a repository of information about the World Wide Web for developers and users, and various prototype and sample applications to demonstrate use of new technology. To date, nearly 400 organizations are Members of the Consortium. For more information see http://www.w3.org/