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

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)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories