LearningPatterns: Your Global Source for Java Training, Mentoring, and Consulting
Home | About LearningPatterns | Our Services | Contact Us | Printer Friendly Link

Courseware for License:

Fast Track to XML and XSLT

Course ID: XSLT

This course is an intensive, hands-on introduction to XML, XPath, and XSLT.  The course is a balanced mixture of theory and practical labs designed to take students from the basic fundamentals of XML right through to the advanced XML technologies.  The students are walked through the different standards in a structured manner to enable them to master the concepts and ideas, which are reinforced in the lab exercises.  The course starts with the fundamentals of XML, including coverage of either DTDs or XML Schema.  It then moves on to the XPath and XSLT standards, and how to use them to transform XML documents into other documents such as HTML documents or other XML documents.

Course Information

Duration: 3 days

Labs: Minimum 50% hands-on labs

Supported Platforms: Java, XMLSpy

Course Details:

Introduction to XML

  • XML Defined
  • Benefits of Using XML, comparison to HTML
  • SGML and the origins of XML.
  • The XML standard and how it relates to the other standards (XSL, XPath, DOM, SAX, etc).
  • Some real life XML applications.

The XML Document

  • Structure of the XML document.
  • The document body
  • Elements, tags, and attributes.
  • Prolog, XML Declaration and PIs.
  • Entities, CDATA
  • Well-formed XML
  • XML syntax and parsing.


  • The Motivating Problem
  • The Namespace Solution (Definition, qualified names, URIs, prefixes)
  • Namespace scope and overriding
  • Default Namespaces
  • Namespaces and Attributes

Valid XML Documents

  • Definition of a valid document
  • Definition of a schema
  • Schema Languages

XML Schema

  • General Form of an XML Schema
  • Elements, Attributes and Types
  • Element Definitions
  • Simple Types
  • Primitive and Derived Datatypes
  • Complex Types - Sequence, Choice, All
  • Element Occurrence Constraints
  • Attribute Definitions
  • Attribute Occurrence Constraints
  • SimpleContent Type
  • Using XML Schema with Namespaces

The Document Type Definition (DTD) Overview

  • The role and functions of a DTD.
  • Specifying internal and external DTDs.
  • Overview of DTD structure
  • Specifying internal and external entities.
  • Comparison of XML Schema to DTD
  • Since DTDs are being phased out in favor of XML Schemas, we present only an overview here

XML Schema Advanced Topics

  • Element and Attribute Group Definitions
  • Defining New Types
  • Facets
  • Defining new Simple Types by Restriction, Enumeration, List, Union
  • Defining new Complex Types by Extension and Restriction
  • Generic Types

XPath (XML Path Language)

  • Overview of the XPath standard.
  • XPath data model – why we need it.
  • Tree addressing and node types.
  • XPath Expressions
  • Working with location paths – step by step.
  • Absolute and relative location paths
  • Axis specifiers, predicates, and functions
  • Lab: Node Trees, Names, String-values
  • Lab: Location Paths and Axes
  • Lab: Predicates, Functions, Operators

XSLT (Extensible Stylesheet Language Transformations) Basics

  • XSLT Overview and History
  • Stylesheets, Templates, and the XSLT Process
  • Processing child nodes
  • Default templates
  • Writing templates – xsl:template
  • Continuing Processing – xsl:apply-templates
  • Lab: Default Template Rules
  • Lab: Writing Templates

Transforming XML to XML

  • xsl:copy-of
  • xsl:copy
  • Pruning the result tree
  • Attribute Value Templates
  • Controlling output with xsl:output
  • Whitespace handling
  • Lab: Pruning the Source Tree
  • Lab: Creating a summary XML document

Transforming XML to HTML

  • Fundamental approach
  • HTML elements in an XML document
  • Basic HTML Tables
  • Considerations in generating tables
  • Lab: Transforming an XML order document to HTML

Conditional Processing

  • Overview
  • xsl:if
  • xsl:choose, xsl:when, xsl:otherwise
  • Lab: Using Conditional Processing
Home | About LearningPatterns | Our Services | Legal | Contact Us       Copyright © LearningPatterns, Inc. All rights reserved.