XSLT and XPath (2 days)

This is a practical, hands-on course for developers with experience of XML wishing to gain an insight into the advanced features of XSLT.

Overview of XSL, XSLT and XPath

The transformation process, Declaring an XSL style sheet, XSL templates, XSLT elements, XPath syntax, XPath expressions, XPath functions, Node functions, Numeric functions , String functions

XSLT 2.0 and XPath 2.0

New XSLT 2.0 Features, New XPath 2.0 Features, Multiple Result Trees, Using Regular Expressions, Grouping in XSLT 2.0, Extension Functions, Coping with XPath 2.0’s Extended Type System, Exploiting XPath 2.0’s Extended Type System

Exploiting XSLT 2.0

Convert Simple Named Templates to XSLT Functions, Prefer for-each-group over Muenchian Method of Grouping, Modularizing and Modes, Using Types for Safety and Precision, Avoiding 1.0 to 2.0 Porting Pitfalls, Emulating Object-Oriented Reuse and Design Patterns, Processing Unstructured Text with Regular Expressions, Solving Difficult Serialization Problems with Character Maps, Outputting Multiple Documents, Handling String Literals Containing Quote Characters, Understanding the New Capabilities of Old XSLT 1.0 Features

XML to Text

Dealing with Whitespace, Exporting XML to Delimited Data, Creating a Columnar Report, Displaying a Hierarchy, Numbering Textual Output, Wrapping Text to a Specified Width and Alignment


Converting Attributes to Elements, Converting Elements to Attributes, Renaming Elements or Attributes, Merging Documents with Identical Schema, Merging Documents with Unlike Schema, Splitting Documents, Flattening an XML Hierarchy, Deepening an XML Hierarchy, Reorganizing an XML Hierarchy

Querying XML

Performing Set Operations on Node Sets, Performing Set Operations on Node Sets Using Value Semantics, Determining Set Equality by Value, Performing Structure-Preserving Queries, Joins, Implementing the W3C XML Query-UseCases in XSLT


Using XSLT as a Styling Language, Creating Hyperlinked Documents, Creating HTML Tables, Creating Frames, Creating Data-Driven Stylesheets, Creating a Self-Contained HTML Transformation, Populating a Form