Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Introduction to XQuery
- Understanding XQuery
- Path Expressions
- FLWOR Expressions (for, let, where, order by, return)
- Functions
- Joins
Fundamentals of XQuery
- The Architecture of XQuery
- Contextualizing XQuery
- Query Processing
- The XQuery Data Model
- Data Types
- Namespaces
Expressions
- Categories of Expressions
- Keywords and Identifiers
- Whitespace Handling
- Literals
- Variables
- Invoking Functions
- Comments
- Evaluation Sequence
- Comparison Operators
- Conditional "if-then-else" Expressions
- Logical "and/or" Expressions
Paths
- Path Expressions
- Predicates
- Dynamic Paths
- Source Documents
- Context Nodes
Constructors
- Incorporating Elements and Attributes from Source Documents
- Literal Result Constructors
- Computed Constructors
Selection and Joins via FLWORs
- Selection Using Path Expressions
- FLWOR Expressions in Detail
- Quantified Expressions
- Retrieving Distinct Values
- Join Operations
Sorting and Grouping
- Sorting Data in XQuery
- Grouping Operations
- Aggregating Values
Functions
- Built-in Functions
- User-Defined Functions
Advanced Query Techniques
- Modifying and Copying Input Elements
- Manipulating Positions and Sequence Numbers
- Merging Results
- Utilizing Intermediate XML Documents
XML Namespace Management
- Namespaces in XQuery
- Namespace Declarations
Types and Typing
- The XQuery Type System
- Built-in Types
- Types, Nodes, and Atomic Values
- Type Checking in XQuery
- Automatic Type Conversions
- Sequence Types
- Constructors and Type Casting
Prolog and Module Structure
- Query Structure: Prolog and Body
- Assembling Queries from Multiple Modules
- Variable Declarations
- Declaring External Functions
Working with Schemas
- Understanding Schemas
- Benefits of Using Schemas with Queries
- W3C XML Schema: Overview
- Schema Definitions in Scope
- Schema Validation and Type Assignment
- Sequence Types and Schemas
Static Typing
- Concept of 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
-
Key Design Principles:
- Clarity
- Modularity
- Robustness
- Error Handling Strategies
- Performance Optimization
Numeric Types
- Constructing and Comparing Numeric Values
- Arithmetic Operations
- Numeric Functions
String Handling
- The xs:string Type
- Constructing, Comparing, and Manipulating Strings
- Substrings and Length
- Concatenation and Splitting Strings
- Whitespace Management
- Internationalization Support
Regular Expressions
- Structure of Regular Expressions
- Matching Individual Characters
- Matching Any Character
- Matching Groups of Characters
- Character Classes
- Reluctant Quantifiers
- Anchors
- Back-References
- Using Flags
- Using Sub-Expressions with Replacement Variables
Date and Time Types
- Extracting Components of Dates, Times, and Durations
- Performing Arithmetic on Dates, Times, and Durations
- Date Component 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 Version Support
- Setting the Query Context
- Option Declarations and Extension Expressions
- Serialization Parameters
XQuery vs. SQL
- XML Data vs. Relational Data
- SQL Syntax vs. XQuery Syntax
- Integrating SQL and XQuery
XQuery vs. XSLT
- XQuery and XPath Relationship
Requirements
Basic understanding of XML is required. While advanced knowledge of XML-related technologies is helpful, it is not mandatory.
14 Hours
Testimonials (3)
Theory and excises not separated but after every bigger Topic there were exercises to remember theory in practice
Krzysztof - Nordea
Course - XQuery
The pacing was good enough
Daniel - Nordea
Course - XQuery
I was very lucky to have one-to-one training and it gave me a good grounding in the subject as well as exploring some of my real use-cases that were really complex.