XQuery
Priscilla Walmsley (pwalmsley@datypic.com)
ISBN: 1491915103
2nd edition, , O'Reilly Media, Inc.
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 and History 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
- Precedence and Parentheses
- Comparison Expressions
- Conditional (
if
-then
-else
) Expressions - Switch Expressions
- Logical (
and
/or
) Expressions
- Chapter 4. Navigating XML by Using Paths
- Path Expressions
- Predicates
- A Closer Look at Context
- Dynamic Paths
- The Simple Map Operator
- 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-Defined Functions
- Calling Functions
- User-Defined Functions
- Chapter 9. Advanced Queries
- Working with Positions and Sequence Numbers
- Windowing
- Copying Input Elements with Modifications
- 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
- URI-Qualified Names
- 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. Prologs, Modules and Variables
- Structure of a Query: Prolog and Body
- Assembling Queries from Multiple Modules
- Variable Declarations
- Private Functions and Variables
- Declaring External Functions
- Chapter 13. Inputs and Outputs
- Types of Input and Output Documents
- Accessing Input Documents
- Serializing Output
- Chapter 14. 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 15. Static Typing
- What Is Static Typing?
- The Typeswitch Expression
- The Treat Expression
- Type Declarations
- The
zero-or-one
,one-or-more
, andexactly-one
Functions
- Chapter 16. Writing Better Queries
- Query Design Goals
- Clarity
- Modularity
- Robustness
- Error Handling
- Performance
- Chapter 17. Working with Numbers
- The Numeric Types
- Constructing Numeric Values
- Comparing Numeric Values
- Arithmetic Operations
- Functions on Numbers
- Formatting Numbers
- Chapter 18. 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
- The
- Chapter 19. 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 20. Working with Dates, Times, and Durations
- The Date and Time Types
- The Duration Types
- Extracting Components of Dates, Times, and Durations
- Formatting Dates and Times
- Using Arithmetic Operators on Dates, Times, and Durations
- The Date Component Types
- Chapter 21. Working with Qualified Names, URIs, and IDs
- Working with Qualified Names
- Working with URIs
- Working with IDs
- Chapter 22. Working with Other XML Constructs
- XML Comments
- Processing Instructions
- Documents
- Text Nodes
- XML Entity and Character References
- CDATA Sections
- Chapter 23. Function Items and Higher-Order Functions
- Why Higher-Order Functions?
- Constructing Functions and Calling Them Dynamically
- Functions and Sequence Types
- Higher-Order Functions
- Chapter 24. Maps, Arrays and JSON
- Maps
- Arrays
- JSON
- Chapter 25. Implementation-Specific Features
- Conformance
- Version Support
- Setting the Query Context
- The Option Declaration
- Extension Expressions
- Annotations
- Chapter 26. XQuery for SQL Users
- Relational Versus XML Data Models
- Comparing SQL Syntax with XQuery Syntax
- Combining SQL and XQuery
- SQL/XML
- Chapter 27. XQuery for XSLT Users
- XQuery and XPath
- XQuery Versus XSLT
- Using XQuery and XSLT Together
- XQuery Backward Compatibility with XPath 1.0
- Chapter 28. Additional XQuery-Related Standards
- XQuery Update Facility
- Full-Text Search
- XQueryX
- RESTXQ
- XQuery API for Java (XQJ)
- Appendix A. Built-in Function Reference
- Appendix B. Built-in Type Reference
- Appendix C. Error Summary