Course Code: xquery
Duration: 14 hours
Prerequisites:

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

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:

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
Sites Published:

United Arab Emirates - XQuery

Qatar - XQuery

Egypt - XQuery

Saudi Arabia - XQuery

South Africa - XQuery

Brasil - XQuery

Canada - XQuery

中国 - XQuery

香港 - XQuery

澳門 - XQuery

台灣 - XQuery

USA - XQuery

Österreich - XQuery

Schweiz - XQuery

Deutschland - XQuery

Czech Republic - XQuery

Denmark - XQuery

Estonia - XQuery

Finland - XQuery

Greece - XQuery

Magyarország - XQuery

Ireland - XQuery

Luxembourg - XQuery

Latvia - XQuery

España - XQuery

Italia - XQuery

Lithuania - XQuery

Nederland - XQuery

Norway - XQuery

Portugal - XQuery

România - XQuery

Sverige - XQuery

Türkiye - XQuery

Malta - XQuery

Belgique - XQuery

France - XQuery

日本 - XQuery

Australia - XQuery

Malaysia - XQuery

New Zealand - XQuery

Philippines - XQuery

Singapore - XQuery

Thailand - XQuery

Vietnam - XQuery

India - XQuery

Argentina - XQuery

Chile - XQuery

Costa Rica - XQuery

Ecuador - XQuery

Guatemala - XQuery

Colombia - XQuery

México - XQuery

Panama - XQuery

Peru - XQuery

Uruguay - XQuery

Venezuela - XQuery

Polska - XQuery

United Kingdom - XQuery

South Korea - XQuery

Pakistan - XQuery

Sri Lanka - XQuery

Bulgaria - XQuery

Bolivia - XQuery

Indonesia - XQuery

Kazakhstan - XQuery

Moldova - XQuery

Morocco - XQuery

Tunisia - XQuery

Kuwait - XQuery

Oman - XQuery

Slovakia - XQuery

Kenya - XQuery

Nigeria - XQuery

Botswana - XQuery

Slovenia - XQuery

Croatia - XQuery

Serbia - XQuery

Bhutan - XQuery

Nepal - XQuery

Uzbekistan - XQuery