Realdolmen Education


XSL Transformations

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course


2 day(s)


This course is intended for developers who plan to use XSLT for any kind of transformation of XML data.


Students must have elementary knowledge of the syntax of both HTML and XML (including namespaces), and should ideally have some experience with a scripting language such as VBScript or JavaScript.


This course teaches techniques for exchanging and transforming XML data by using Extensible Stylesheet Language Transformations (XSLT) and its auxiliary standard, XPath.


Classroom training with hands-on exercises and opportunity for discussion.


This course focuses on two W3C standards, XSLT and XPath, as a means to declaratively transform XML documents by means of XSLT stylesheets. Other XML standards and programming models, such as XMLSchema, DOM, and SAX, are not the subject of this course. The examples and exercises are based mainly on transformations to HTML,XSL:FO or simple XML vocabularies. XSL:FO will briefly introduced but not presented in detail as it is very extensive.

The course is essentially platform- and supplier-independent. During the exercises we make use of tools that are either bundled with the operating system or freely available on the Internet. We also introduce the use of XMLSpy as a commercial tool that simplifies development of XSL sheets.

After a short introduction where we explain the need of using XSL in an XML environment, the course continues with the principles and syntax of XSLT and XPath and an overview of available software tools.

The first part is dedicated to the syntax and semantics of the XPath language for locating and filtering node sets within an XML document.

In the second part we focus on the XSLT style sheet language itself and examine the various tools and techniques for transforming XML documents to multiple formats, creating and changing XML structure, and merging XML documents together.

The final part of the course introduces XSL:FO and the Apache FOP Project, to enable the transformation of XML to PDF.


  • XSL Transformations
    • Introduction
      • Course Objectives
      • Agenda
    • XSLT Basics
      • Why XSL?
      • Overview of the XSL Standard
      • What is Necessary for an XSL Transformation
      • XSLT-XPath Interaction
      • A Simple XSLT Transformation
      • How Does XSLT Work?
      • The XSLT Data Model
      • Structure of an XSLT Document
      • The XSLT Translation Process
      • Simple XSL template
      • Essential XSLT Elements
    • XPath
      • XPath
      • The XPath Mechanism
      • Location Path Syntax
      • The Axis
      • Overview of the Axes
      • The Node Test
      • Predicates
      • Components of XPath Expressions
      • Objects in XPath
      • Functions
      • Conversion functions
      • Binary Operators
      • Semantics of the Comparison Operators
      • XPath Abbreviations
      • Exercise: XPath Examples
      • Exercise: XPath
    • XSLT
      • The match Attribute of xsl:template
      • Built-in Templates
      • Applying Templates
      • Rendering XPath Values
      • Inline Expressions
      • Dynamic Output
      • Comments and Processing Instructions
      • Iteration
      • Branching
      • Variables
      • Named templates
      • Template parameters
      • Copying Elements
      • Sorting
      • Number Formatting
      • Order Indicator Numbers
      • Top-level Elements
      • Processing Messages
      • Exercise: XSLT
    • XSL:FO
      • XSL:FO (Formatting Objects)
      • XML to XSL-FO with XSLT
      • The Transformation Process
      • Rendering Engine: Apache FOP
      • XSL-FO Document Overview
      • XSL-FO Document Structure
      • XSL-FO Example
      • Exercise: XSL-FO Getting Started
      • <fo:root>
      • <fo:layout-master-set>
      • Page Master Attributes
      • Page Regions
      • Page Sequence
      • Basic Content Elements
      • Basic Formatting Properties
      • Preventing Breaks
      • Adding Breaks
      • Widows and Orphans
      • Images
      • Drawing Lines
      • Exercise: XSL-FO Formatting
      • Handling Lists
      • List Indentation
      • List Styles
      • Exercise: XSL-FO Lists
      • Tables in XSL-FO
      • Exercise: XSL-FO Tables
      • More Complex XSL-FO Elements
    • XQuery
      • What is XQuery?
      • Syntax
      • Types
      • FLWOR
      • Functions
      • XQuery - Functions
      • Exercise: XQuery