Wednesday, April 4, 2007

XQuery By Priscilla Walmsley

Title: XQuery
By Priscilla Walmsley
First Edition March 2007
ISBN 10: 0-596-00634-9
ISBN 13: 9780596006341
Pages: 510

XQuery delivers a carefully paced tutorial that goes into the final 1.0 standard in detail. The book delves into critical advanced issues such as data typing and designing efficient query logic. Whether you're coming from SQL, XSLT, or starting from scratch, you'll learn about XQuery's support for filtering, sorting, and grouping data, as well as how to use FLWR expressions, XPath, and XQuery tools for extracting and combining information.

With the XQuery 1.0 standard, you finally have a tool that will make it much easier to search, extract and manipulate information from XML content stored in databases. This in-depth tutorial not only walks you through the XQuery specification, but also teaches you how to program with this widely anticipated query language.

XQuery is for query writers who have some knowledge of XML basics, but not necessarily advanced knowledge of XML-related technologies. It can be used both as a tutorial, by reading cover to cover, and as a reference, by using the comprehensive index and appendixes. Either way, you will find the background knowledge in namespaces, schemas, built-in types and regular expressions that is relevant to writing XML queries. This book provides:

A high-level overview and quick tour of XQuery
Information to write sophisticated queries, without being bogged down by the details of types, namespaces, and schemas
Advanced concepts for users who want to take advantage of modularity, namespaces, typing and schemas
Guidelines for working with specific types of data, such as numbers, strings, dates, URIs and processing instructions
A complete alphabetical reference to the built-in functions and types
You will also learn about XQuery's support for filtering, sorting, and grouping data, as well as how to use FLWOR expressions, XPath, and XQuery tools for extracting and combining information. With this book, you will discover how to apply all of these tools to a wide variety of data sources, and how to recombine information from multiple sources into a single final output result.

Whether you're coming from SQL, XSLT, or starting from scratch, this carefully paced tutorial takes you through the final 1.0 standard in detail.

Table of Contents


1. Introduction to XQuery

     What Is XQuery?

     Easing into XQuery

     Path Expressions


     Adding XML Elements and Attributes



     Aggregating and Grouping Values

2. XQuery Foundations

     The Design of the XQuery Language

     XQuery in Context

     Processing Queries

     The XQuery Data Model



3. Expressions: XQuery Building Blocks

     Categories of Expressions

     Keywords and Names

     Whitespace in Queries



     Function Calls


     Evaluation Order and Parentheses

     Comparison Expressions

     Conditional (if-then-else) Expressions

     Logical (and/or) Expressions

4. Navigating Input Documents Using Paths

     Path Expressions


     Dynamic Paths

     Input Documents

     A Closer Look at Context

5. Adding Elements and Attributes to Results

     Including Elements and Attributes from the Input Document

     Direct Element Constructors

     Computed Constructors

6. Selecting and Joining Using FLWORs

     Selecting with Path Expressions

     FLWOR Expressions

     Quantified Expressions

     Selecting Distinct Values


7. Sorting and Grouping

     Sorting in XQuery


     Aggregating Values

8. Functions

     Built-in Versus User-Def ined Functions

     Calling Functions

     User-Defined Functions

9. Advanced Queries

     Copying Input Elements with Modifications

     Working with Positions and Sequence Numbers

     Combining Results

     Using Intermediate XML Documents

10. Namespaces and XQuery

     XML Namespaces

     Namespaces and XQuery

     Namespace Declarations in Queries

     Controlling Namespace Declarations in Your Results

11. A Closer Look at Types

     The XQuery Type System

     The Built-in Types

     Types, Nodes, and Atomic Values

     Type Checking in XQuery

     Automatic Type Conversions

     Sequence Types

     Constructors and Casting

12. Queries, Prologs, and Modules

     Structure of a Query: Prolog and Body

     Assembling Queries from Multiple Modules

     Variable Declarations

     Declaring External Functions

13. Using Schemas with XQuery

     What Is a Schema?

     Why Use Schemas with Queries?

     W3C XML Schema: A Brief Overview

     In-Scope Schema Definitions

     Schema Validation and Type Assignment

     Sequence Types and Schemas

14. Static Typing

     What Is Static Typing?

     The Typeswitch Expression

     The Treat Expression

     Type Declarations

     The zero-or-one, one-or-more, and exactly-one Functions

15. Principles of Query Design

     Query Design Goals




     Error Handling


16. Working with Numbers

     The Numeric Types

     Constructing Numeric Values

     Comparing Numeric Values

     Arithmetic Operations

     Functions on Numbers

17. Working with Strings

     The xs:string Type

     Constructing Strings

     Comparing Strings


     Finding the Length of a String

     Concatenating and Splitting Strings

     Manipulating Strings

     Whitespace and Strings

     Internationalization Considerations

18. Regular Expressions

     The Structure of a Regular Expression

     Representing Individual Characters

     Representing Any Character

     Representing Groups of Characters

     Character Class Expressions

     Reluctant Quantifiers



     Using Flags

     Using Sub-Expressions with Replacement Variables

19. Working with Dates, Times, and Durations

     The Date and Time Types

     The Duration Types

     Extracting Components of Dates, Times, and Durations

     Using Arithmetic Operators on Dates, Times, and Durations

     The Date Component Types

20. Working with Qualified Names, URIs, and IDs

     Working with Qualified Names

     Working with URIs

     Working with IDs

21. Working with Other XML Components

     XML Comments

     Processing Instructions


     Text Nodes

     XML Entity and Character References

     CDATA Sections

22. Additional XQuery-Related Standards



     XQuery Update Facility

     Full-Text Search

     XQuery API for Java (XQJ)

23. Implementation-Specific Features


     XML Version Support

     Setting the Query Context

     Option Declarations and Extension Expressions

     Specifying Serialization Parameters

24. XQuery for SQL Users

     Relational Versus XML Data Models

     Comparing SQL Syntax with XQuery Syntax

     Combining SQL and XQuery


25. XQuery for XSLT Users

     XQuery and XPath

     XQuery Versus XSLT

     Differences Between XQuery 1.0/XPath 2.0 and XPath 1.0

A. Built-in Function Reference

B. Built-in Types

C. Error Summary


Amazon Link: XQuery

Sample Chapter 4: Navigating Input Documents Using Paths (PDF Format)

No comments: