Course Outline
XQuery Introduction
- What Is XQuery?
- Path Expressions
- FLWOR (for, let, where, order by, return)
- Functions
- Joins
XQuery Basics
- The Design of the XQuery Language
- XQuery in Context
- Processing Queries
- The XQuery Data Model
- Types
- Namespaces
Expressions
- Categories of Expressions
- Keywords and Names
- Whitespace in Queries
- Literals
- Variables
- Function Calls
- Comments
- Evaluation Order
- Comparison Expressions
- "if-then-else" Expressions
- "and/or" Expressions
Paths
- Path Expressions
- Predicates
- Dynamic Paths
- Input Documents
- Context
Constructors
- Including Elements and Attributes from the Input Document
- Direct Constructors
- Computed Constructors
Selecting and Joining Using FLWORs
- Selecting with Path Expressions
- FLWOR Expressions
- Quantified Expressions
- Selecting Distinct Values
- Joins
Sorting and Grouping
- Sorting in XQuery
- Grouping
- Aggregating Values
Functions
- Built-in Functions
- User-Defined Functions
Advanced Queries
- Copying Input Elements with Modifications
- Working with Positions and Sequence Numbers
- Combining Results
- Using Intermediate XML Documents
XML Namespace
- XQuery and a Namespace
- Namespace Declaration
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
Prolog and Module
- Structure of a Query: Prolog and Body
- Assembling Queries from Multiple Modules
- Variable Declarations
- Declaring External Functions
Using Schemas
- 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
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
Principles of Query Design
- Query Design:
- Clarity
- Modularity
- Robustness
- Error Handling
- Performance
Numbers
- Constructing and comparing Numeric Values
- Arithmetic Operations
- Functions on Numbers
Strings
- xs:string Type
- Constructing, comparing and manipulating Strings
- Substrings, length
- Concatenating and Splitting Strings
- Whitespace
- Internationalization
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
Date and Time Types
- Extracting Components of Dates, Times, and Durations
- Using Arithmetic Operators on Dates, Times, and Durations
- The Date Component Types
Qualified Names
- Working with Qualified Names
- URIs, IDs
Other XML Components
- Documents
- Text Nodes
- Comments
- PI (Processing Instructions)
- XML Entity
- CDATA
XQuery-Related Standards
- XML Serialization
- XQueryX
- XQuery Update Facility
- Full-Text Search
- XQJ - XQuery API for Java
Implementation-Specific Features
- XML Version
- Setting the Query Context
- Option Declarations and Extension Expressions
- Serialization Parameters
XQuery vs. SQL
- XML Data vs. Relational Data
- SQL Syntax vs. XQuery Syntax
- SQL and XQuery
XQuery vs. XSLT
- XQuery and XPath
- XQuery vs. XSLT
Requirements
Some knowledge of XML basics. Advanced knowledge of XML-related technologies is beneficial but not required.
Delivery Options
Private Group Training
Our identity is rooted in delivering exactly what our clients need.
- Pre-course call with your trainer
- Customisation of the learning experience to achieve your goals -
- Bespoke outlines
- Practical hands-on exercises containing data / scenarios recognisable to the learners
- Training scheduled on a date of your choice
- Delivered online, onsite/classroom or hybrid by experts sharing real world experience
Private Group Prices RRP from €4560 online delivery, based on a group of 2 delegates, €1440 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Contact us for an exact quote and to hear our latest promotions
Public Training
Please see our public courses
Testimonials (3)
Theory and excises not separated but after every bigger Topic there were exercises to remember theory in practice
Krzysztof - Nordea
Course - XQuery
The pacing was good enough
Daniel - Nordea
Course - XQuery
I was very lucky to have one-to-one training and it gave me a good grounding in the subject as well as exploring some of my real use-cases that were really complex.