Chapter 10. XQuery

XQuery is a declarative, typed, functional language designed from scratch by the XML Query Working Group specifically for the purpose of querying data stored in XML format. XQuery shares the same data model and the same XML Schema-based type system with other members of the XML standards family such as XPath 2.0 and XSLT 2.0. XQuery is designed to work with XML documents that are untyped (no schema associated with the data), typed with XML Schemas, or a combination of both. XQuery 1.0 is basically a superset of XPath 2.0. In addition to the features of XPath 2.0, it has the following capabilities:

  • Adds an order by clause to the FLWOR (more on this later) clause to sort in nondocument order

  • Adds a let clause to the FLWOR clause to name results of expressions for further use

  • Provides a way to specify static context items in the query prolog (such as namespace prefix bindings)

  • Provides the ability to construct new nodes

  • Provides the ability to specify user-defined functions

  • Provides the ability to create modules and libraries

In this chapter, you get an in-depth look at the features of XQuery, including its syntax through examples. After that, you will be introduced to the support provided by Java and SQL Server 2005 for XQuery and the steps involved in working with XQuery from within Java and SQL Server 2005.

What Is XQuery?

XQuery is a fairly new language for querying XML data. It was designed from the ground up by the XML Query Working Group of the W3C with the sole purpose ...

Get Professional XML now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.