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
XQuery Introduction
- Understanding XQuery
- Path Expressions
- FLWOR (for, let, where, order by, return)
- Functions
- Joins
XQuery Fundamentals
- The Design Philosophy of XQuery
- Contextualizing XQuery
- Query Processing
- The XQuery Data Model
- Types
- Namespaces
Expressions
- Expression Categories
- Keywords and Naming Conventions
- Whitespace Handling in Queries
- Literals
- Variables
- Function Calls
- Comments
- Evaluation Sequence
- Comparison Expressions
- Conditional Expressions: "if-then-else"
- Logical Expressions: "and/or"
Paths
- Path Expressions
- Predicates
- Dynamic Paths
- Input Documents
- Context
Constructors
- Incorporating Elements and Attributes from Input Documents
- Direct Constructors
- Computed Constructors
Selecting and Joining Using FLWORs
- Selection via Path Expressions
- FLWOR Expressions
- Quantified Expressions
- Retrieving Distinct Values
- Joins
Sorting and Grouping
- Sorting Techniques in XQuery
- Grouping Data
- Aggregating Values
Functions
- Built-in Functions
- User-Defined Functions
Advanced Queries
- Copying Input Elements with Modifications
- Managing Positions and Sequence Numbers
- Merging Results
- Utilizing Intermediate XML Documents
XML Namespace
- XQuery and Namespaces
- Namespace Declaration
Types
- The XQuery Type System
- Built-in Types
- Types, Nodes, and Atomic Values
- Type Checking in XQuery
- Automatic Type Conversions
- Sequence Types
- Constructors and Casting
Prolog and Module
- Query Structure: Prolog and Body
- Assembling Queries from Multiple Modules
- Variable Declarations
- Declaring External Functions
Working with Schemas
- What Is a Schema?
- Benefits of Using Schemas with Queries
- W3C XML Schema: An Overview
- In-Scope Schema Definitions
- Schema Validation and Type Assignment
- Sequence Types and Schemas
Static Typing
- Understanding 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 Principles:
- Clarity
- Modularity
- Robustness
- Error Handling
- Performance Optimization
Numbers
- Constructing and Comparing Numeric Values
- Arithmetic Operations
- Functions for Numbers
Strings
- xs:string Type
- Constructing, Comparing, and Manipulating Strings
- Substrings and Length
- Concatenating and Splitting Strings
- Whitespace Handling
- Internationalization
Regular Expressions
- 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
- Date Component Types
Qualified Names
- Working with Qualified Names
- URIs and 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 Integration
XQuery vs. XSLT
- XQuery and XPath
- XQuery vs. XSLT
Requirements
Basic understanding of XML is required. While advanced knowledge of XML-related technologies is advantageous, 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.