XQuery Training Course

Node ID: 19511
 

Duration

14 hours
 

Requirements

Some knowledge of XML basics. Advanced knowledge of XML-related technologies is beneficial but not required.

 

Public Course Dates

Can't find a course date that suits your needs below?
Then just submit a public course date request now!
And we will organize the training at a location and date to suit you.
Request Public Course Date >>
 

Overview

This training 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

Participants 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. During the training they will find out 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.

 

Course Outline

Introduction to XQuery

  • What Is XQuery?
  • Easing into XQuery
  • Path Expressions
  • FLWORs
  • Adding XML Elements and Attributes
  • Functions
  • Joins
  • Aggregating and Grouping Values

XQuery Foundations

  • The Design of the XQuery Language
  • XQuery in Context
  • Processing Queries
  • The XQuery Data Model
  • Types
  • Namespaces

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

Navigating Input Documents Using Paths

  • Path Expressions
  • Predicates
  • Dynamic Paths
  • Input Documents
  • A Closer Look at Context

Adding Elements and Attributes to Results

  • Including Elements and Attributes from the Input Document
  • Direct Element 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 Versus User-Defined Functions
  • Calling Functions
  • User-Defined Functions

Advanced Queries

  • Copying Input Elements with Modifications
  • Working with Positions and Sequence Numbers
  • Combining Results
  • Using Intermediate XML Documents

Namespaces and XQuery

  • XML Namespaces
  • Namespaces and XQuery
  • Namespace Declarations in Queries
  • Controlling Namespace Declarations in Your Results

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

Queries, Prologs, and Modules

  • Structure of a Query: Prolog and Body
  • Assembling Queries from Multiple Modules
  • Variable Declarations
  • Declaring External Functions

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

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 Goals
  • Clarity
  • Modularity
  • Robustness
  • Error Handling
  • Performance

Numbers

  • Constructing Numeric Values
  • Comparing Numeric Values
  • Arithmetic Operations
  • Functions on Numbers

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

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

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

Qualified Names, URIs, and IDs

  • Working with Qualified Names
  • Working with URIs
  • Working with IDs

Working with Other XML Components

  • XML Comments
  • Processing Instructions
  • Documents
  • Text Nodes
  • XML Entity and Character References
  • CDATA Sections

Additional XQuery-Related Standards

  • Serialization
  • XQueryX
  • XQuery Update Facility
  • Full-Text Search
  • XQuery API for Java (XQJ)

Implementation-Specific Features

  • Conformance
  • XML Version Support
  • Setting the Query Context
  • Option Declarations and Extension Expressions
  • Specifying Serialization Parameters

XQuery for SQL Users

  • Relational Versus XML Data Models
  • Comparing SQL Syntax with XQuery Syntax
  • Combining SQL and XQuery
  • SQL/XML

XQuery for XSLT Users

  • XQuery and XPath
  • XQuery Versus XSLT