0% found this document useful (0 votes)
15 views4 pages

XML XQuery

xml using XQuery
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views4 pages

XML XQuery

xml using XQuery
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

What is XQuery?

XQuery is to XML what SQL is to databases.

XQuery is designed to query XML data.

XQuery Example
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title

What is XQuery?
 XQuery is the language for querying XML data
 XQuery for XML is like SQL for databases
 XQuery is built on XPath expressions
 XQuery is supported by all major databases
 XQuery is a W3C Recommendation

XQuery is About Querying XML


XQuery is a language for finding and extracting elements and attributes
from XML documents.

Here is an example of what XQuery could solve:

"Select all CD records with a price less than $10 from the CD collection
stored in cd_catalog.xml"

XQuery and XPath


XQuery 1.0 and XPath 2.0 share the same data model and support the
same functions and operators. If you have already studied XPath you will
have no problems with understanding XQuery.
XQuery - Examples of Use
XQuery can be used to:

 Extract information to use in a Web Service


 Generate summary reports
 Transform XML data to XHTML
 Search Web documents for relevant information

XQuery is a W3C
Recommendation
XQuery is compatible with several W3C standards, such as XML,
Namespaces, XSLT, XPath, and XML Schema.

XQuery 1.0 became a W3C Recommendation in 2007.

The XML Example Document


We will use the following XML document in the examples below.

"books.xml":

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>

<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>

<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>

</bookstore>

How to Select Nodes From


"books.xml"?
Functions
XQuery uses functions to extract data from XML documents.

The doc() function is used to open the "books.xml" file:

doc("books.xml")

Path Expressions
XQuery uses path expressions to navigate through elements in an XML
document.

The following path expression is used to select all the title elements in the
"books.xml" file:

doc("books.xml")/bookstore/book/title
(/bookstore selects the bookstore element, /book selects all the book
elements under the bookstore element, and /title selects all the title
elements under each book element)

The XQuery above will extract the following:

<title lang="en">Everyday Italian</title>


<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>

Predicates
XQuery uses predicates to limit the extracted data from XML documents.

The following predicate is used to select all the book elements under the
bookstore element that have a price element with a value that is less
than 30:

doc("books.xml")/bookstore/book[price<30]

The XQuery above will extract the following:

<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

You might also like