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
- 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
        
        
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.