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.

  14 Hours
 

Number of participants


Starts

Ends


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Testimonials (3)

Related Courses

Related Categories