Get in Touch

Course Outline

Introduction to XQuery

  • Understanding XQuery
  • Path Expressions
  • FLWOR Expressions (for, let, where, order by, return)
  • Functions
  • Joins

Fundamentals of XQuery

  • Design Principles of XQuery
  • Contextualizing XQuery
  • Query Processing Mechanisms
  • The XQuery Data Model
  • Types
  • Namespaces

Expressions

  • Classification of Expressions
  • Keywords and Identifiers
  • Handling Whitespace in Queries
  • Literals
  • Variables
  • Invoking Functions
  • Comments
  • Evaluation Sequence
  • Comparison Expressions
  • Conditional 'if-then-else' Expressions
  • Logical 'and/or' Expressions

Paths

  • Path Expressions
  • Predicates
  • Dynamic Paths
  • Input Documents
  • Context Nodes

Constructors

  • Incorporating Elements and Attributes from Input Documents
  • Direct Constructors
  • Computed Constructors

Selection and Joining Using FLWORs

  • Selecting Data via Path Expressions
  • FLWOR Expressions in Detail
  • Quantified Expressions
  • Retrieving Distinct Values
  • Joins

Sorting and Grouping

  • Sorting Data in XQuery
  • Grouping Techniques
  • Aggregating Values

Functions

  • Built-in Functions
  • Custom User-Defined Functions

Advanced Query Techniques

  • Modifying and Copying Input Elements
  • Managing Positions and Sequence Numbers
  • Merging Results
  • Leveraging Intermediate XML Documents

XML Namespaces

  • XQuery in Relation to Namespaces
  • Declaring Namespaces

Types

  • Overview of the XQuery Type System
  • Predefined Built-in Types
  • Interplay Between Types, Nodes, and Atomic Values
  • Type Checking in XQuery
  • Automatic Type Conversion
  • Sequence Types
  • Constructors and Casting Techniques

Prolog and Module Structure

  • Query Anatomy: Prolog and Body Sections
  • Assembling Queries from Multiple Modules
  • Declaring Variables
  • Declaring External Functions

Working with Schemas

  • Definition of a Schema
  • Benefits of Using Schemas with Queries
  • Brief Overview of W3C XML Schema
  • Managing In-Scope Schema Definitions
  • Schema Validation and Type Assignment
  • Sequence Types in Relation to Schemas

Static Typing

  • Understanding Static Typing
  • The 'typeswitch' Expression
  • The 'treat' Expression
  • Type Declarations
  • Functions for zero-or-one, one-or-more, and exactly-one Constraints

Principles of Query Design

  • Key Aspects of Query Design:
    • Clarity
    • Modularity
    • Robustness
  • Error Handling Strategies
  • Performance Optimization

Numeric Data Types

  • Creating and Comparing Numeric Values
  • Arithmetic Operations
  • Functions for Numeric Data

String Data Types

  • The xs:string Type
  • Constructing, Comparing, and Manipulating Strings
  • Extracting Substrings and Determining Length
  • Concatenating and Splitting Strings
  • Managing Whitespace
  • Internationalization Support

Regular Expressions

  • Structure of Regular Expressions
  • Representing Individual Characters
  • Matching Any Character
  • Representing Groups of Characters
  • Character Class Expressions
  • Reluctant Quantifiers
  • Anchors
  • Back-References
  • Utilizing Flags
  • Using Sub-expressions with Replacement Variables

Date and Time Types

  • Extracting Components from Dates, Times, and Durations
  • Applying Arithmetic Operators to Dates, Times, and Durations
  • Components of Date Types

Qualified Names

  • Working with Qualified Names
  • URIs and IDs

Other XML Components

  • Documents
  • Text Nodes
  • Comments
  • PI (Processing Instructions)
  • XML Entities
  • CDATA Sections

XQuery-Related Standards

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

Implementation-Specific Features

  • XML Versioning
  • Configuring the Query Context
  • Option Declarations and Extension Expressions
  • Serialization Parameters

XQuery vs. SQL

  • XML Data Compared to Relational Data
  • SQL Syntax Versus XQuery Syntax
  • Integration of SQL and XQuery

XQuery vs. XSLT

  • Relationship Between XQuery and XPath
  • XQuery Versus XSLT

Requirements

Basic knowledge of XML is required. While advanced familiarity with XML-related technologies is advantageous, it is not mandatory.

 14 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories