Course Description

This 2-day XML Programming Advanced training course will teach students about the advanced features of XML. Through lecture and hands-on lab exercises, students will extend their capabilities in XML Schema, XPath, and XSLT. Appendices on XQuery and XSL-FO are included as well.


Attendance at our XML Programming Introduction training course, or equivalent experience.

Who is this course for?

XML developers who need to use some of the advanced features of XML.

Further Training

Course content

Defining New Types Using Schemas
Substitution Groups
All & Choice Elements
Simple Type Restrictions
Pattern & Enumeration Facets
Complex Types & Extensions
Complex Types &Restrictions
The final Attribute
Additional Schema Elements
Keys and Keyref
Attribute Groups
Allowing Any Content
Mixed Content
Documentation Schemas
Using XML Schema with Namespaces
Qualified & Unqualified XML
Associating Qualified XML with a Schema
Associating a Schema with a Namespace
Controlling Element & Attribute Qualification
Merging Schema with the Same Namespace
Merging Schema with Different Namespaces
Generating Output with XSLT
Output Methods
HTML Output
Plain Text Output
XML Output
xsl:element & xsl:attribute
Attribute Value Templates
Text, Processing-Instructions, and Comments
Working with Namespaces
Using XPath and XSLT Functions
XPath Datatypes & Functions
Node Test Functions
Node Set Functions
Boolean Functions
String Functions
Number Functions
XSLT Functions
The document() Function
xsl:key & the key() Function
Advanced XSLT
Copying Elements
Using Other Stylesheets
Template Rule Conflicts
XSLT & XPath 2.0 New Features
XSLT 2.0 Grouping Elements & Functions
User-Defined XSLT Functions
Multiple Output & XHTML Documents
Temporary Trees
Stylesheets That Are Schema-Aware
Character Mapping
Regular Expressions
Appendix A: Introduction to XQuery
What is XQuery?
doc() Function
XQuery Datatypes
XQuery Expressions
XQuery Prolog
Conditional Expressions
Iteration and FLWOR
Built-in Functions
User-Defined Functions
Appendix B: XSL Formatting Objects
What is XSL?
XSL-FO Overview
Types of Objects
Defining Page Masters
Setting Up the Flow
Block-Level vs. Inline-Level Objects
Out-of-Line Objects