XQuery
By
Priscilla Walmsley
March 2007
Pages: 510
| Table of Contents
| Index
| Sample Chapter
| Colophon
Table of Contents
-
Chapter 1 Introduction to XQuery
-
What Is XQuery?
-
Easing into XQuery
-
Path Expressions
-
FLWORs
-
Adding XML Elements and Attributes
-
Functions
-
Joins
-
Aggregating and Grouping Values
-
Chapter 2 XQuery Foundations
-
The Design of the XQuery Language
-
XQuery in Context
-
Processing Queries
-
The XQuery Data Model
-
Types
-
Namespaces
-
Chapter 3 Expressions: XQuery Building Blocks
-
Categories of Expressions
-
Keywords and Names
-
Whitespace in Queries
-
Literals
-
Variables
-
Function Calls
-
Comments
-
Evaluation Order and Parentheses
-
Comparison Expressions
-
Conditional (if-then-else) Expressions
-
Logical (and/or) Expressions
-
Chapter 4 Navigating Input Documents Using Paths
-
Path Expressions
-
Predicates
-
Dynamic Paths
-
Input Documents
-
A Closer Look at Context
-
Chapter 5 Adding Elements and Attributes to Results
-
Including Elements and Attributes from the Input Document
-
Direct Element Constructors
-
Computed Constructors
-
Chapter 6 Selecting and Joining Using FLWORs
-
Selecting with Path Expressions
-
FLWOR Expressions
-
Quantified Expressions
-
Selecting Distinct Values
-
Joins
-
Chapter 7 Sorting and Grouping
-
Sorting in XQuery
-
Grouping
-
Aggregating Values
-
Chapter 8 Functions
-
Built-in Versus User-Def ined Functions
-
Calling Functions
-
User-Defined Functions
-
Chapter 9 Advanced Queries
-
Copying Input Elements with Modifications
-
Working with Positions and Sequence Numbers
-
Combining Results
-
Using Intermediate XML Documents
-
Chapter 10 Namespaces and XQuery
-
XML Namespaces
-
Namespaces and XQuery
-
Namespace Declarations in Queries
-
Controlling Namespace Declarations in Your Results
-
Chapter 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
-
Chapter 12 Queries, Prologs, and Modules
-
Structure of a Query: Prolog and Body
-
Assembling Queries from Multiple Modules
-
Variable Declarations
-
Declaring External Functions
-
Chapter 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
-
Chapter 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
-
Chapter 15 Principles of Query Design
-
Query Design Goals
-
Clarity
-
Modularity
-
Robustness
-
Error Handling
-
Performance
-
Chapter 16 Working with Numbers
-
The Numeric Types
-
Constructing Numeric Values
-
Comparing Numeric Values
-
Arithmetic Operations
-
Functions on Numbers
-
Chapter 17 Working with Strings
-
The xs:string Type
-
Constructing Strings
-
Comparing Strings
-
Substrings
-
Finding the Length of a String
-
Concatenating and Splitting Strings
-
Manipulating Strings
-
Whitespace and Strings
-
Internationalization Considerations
-
Chapter 18 Regular Expressions
-
The Structure of a Regular Expression
-
Representing Individual Characters
-
Representing Any Character
-
Representing Groups of Characters
-
Character Class Expressions
-
Reluctant Quantifiers
-
Anchors
-
Back-References
-
Using Flags
-
Using Sub-Expressions with Replacement Variables
-
Chapter 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
-
Chapter 20 Working with Qualified Names, URIs, and IDs
-
Working with Qualified Names
-
Working with URIs
-
Working with IDs
-
Chapter 21 Working with Other XML Components
-
XML Comments
-
Processing Instructions
-
Documents
-
Text Nodes
-
XML Entity and Character References
-
CDATA Sections
-
Chapter 22 Additional XQuery-Related Standards
-
Serialization
-
XQueryX
-
XQuery Update Facility
-
Full-Text Search
-
XQuery API for Java (XQJ)
-
Chapter 23 Implementation-Specific Features
-
Conformance
-
XML Version Support
-
Setting the Query Context
-
Option Declarations and Extension Expressions
-
Specifying Serialization Parameters
-
Chapter 24 XQuery for SQL Users
-
Relational Versus XML Data Models
-
Comparing SQL Syntax with XQuery Syntax
-
Combining SQL and XQuery
-
SQL/XML
-
Chapter 25 XQuery for XSLT Users
-
XQuery and XPath
-
XQuery Versus XSLT
-
Differences Between XQuery 1.0/XPath 2.0 and XPath 1.0
-
Appendix A Built-in Function Reference
-
Appendix B Built-in Types
-
xs:anyAtomicType
-
xs:anyType
-
xs:anyURI
-
xs:base64Binary
-
xs:boolean
-
xs:byte
-
xs:date
-
xs:dateTime
-
xs:dayTimeDuration
-
xs:decimal
-
xs:double
-
xs:duration
-
xs:ENTITIES
-
xs:ENTITY
-
xs:float
-
xs:gDay
-
xs:gMonth
-
xs:gMonthDay
-
xs:gYear
-
xs:gYearMonth
-
xs:hexBinary
-
xs:ID
-
xs:IDREF
-
xs:IDREFS
-
xs:int
-
xs:integer
-
xs:language
-
xs:long
-
xs:Name
-
xs:NCName
-
xs:negativeInteger
-
xs:NMTOKEN
-
xs:NMTOKENS
-
xs:nonNegativeInteger
-
xs:nonPositiveInteger
-
xs:normalizedString
-
xs:NOTATION
-
xs:positiveInteger
-
xs:QName
-
xs:short
-
xs:string
-
xs:time
-
xs:token
-
xs:unsignedByte
-
xs:unsignedInt
-
xs:unsignedLong
-
xs:unsignedShort
-
xs:untyped
-
xs:untypedAtomic
-
xs:yearMonthDuration
-
Appendix C Error Summary
-
FOAR0001
-
FOAR0002
-
FOCA0001
-
FOCA0002
-
FOCA0003
-
FOCA0005
-
FOCA0006
-
FOCH0001
-
FOCH0002
-
FOCH0003
-
FOCH0004
-
FODC0001
-
FODC0002
-
FODC0003
-
FODC0004
-
FODC0005
-
FODT0001
-
FODT0002
-
FODT0003
-
FOER0000
-
FONS0004
-
FONS0005
-
FORG0001
-
FORG0002
-
FORG0003
-
FORG0004
-
FORG0005
-
FORG0006
-
FORG0008
-
FORG0009
-
FORX0001
-
FORX0002
-
FORX0003
-
FORX0004
-
FOTY0012
-
SENR0001
-
SEPM0004
-
SEPM0009
-
SEPM0010
-
SEPM0016
-
SERE0003
-
SERE0005
-
SERE0006
-
SERE0008
-
SERE0012
-
SERE0014
-
SERE0015
-
SESU0007
-
SESU0011
-
SESU0013
-
XPDY0002
-
XPDY0050
-
XPST0001
-
XPST0003
-
XPST0005
-
XPST0008
-
XPST0010
-
XPST0017
-
XPST0051
-
XPST0080
-
XPST0081
-
XPTY0004
-
XPTY0018
-
XPTY0019
-
XPTY0020
-
XQDY0025
-
XQDY0026
-
XQDY0027
-
XQDY0041
-
XQDY0044
-
XQDY0061
-
XQDY0064
-
XQDY0072
-
XQDY0074
-
XQDY0084
-
XQDY0091
-
XQDY0092
-
XQST0009
-
XQST0012
-
XQST0013
-
XQST0016
-
XQST0022
-
XQST0031
-
XQST0032
-
XQST0033
-
XQST0034
-
XQST0035
-
XQST0036
-
XQST0038
-
XQST0039
-
XQST0040
-
XQST0045
-
XQST0046
-
XQST0047
-
XQST0048
-
XQST0049
-
XQST0054
-
XQST0055
-
XQST0057
-
XQST0058
-
XQST0059
-
XQST0060
-
XQST0065
-
XQST0066
-
XQST0067
-
XQST0068
-
XQST0069
-
XQST0070
-
XQST0071
-
XQST0073
-
XQST0075
-
XQST0076
-
XQST0079
-
XQST0085
-
XQST0087
-
XQST0088
-
XQST0089
-
XQST0090
-
XQST0093
-
XQTY0024
-
XQTY0030
-
XQTY0086
-
About the Author
-
Colophon
Return to XQuery