Learning Patterns Your Source for Quality Technology Courseware

Fast Track to XML and 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:

Course Code: XSLT

Price: $100

Duration: 3 days

Labs: many hands-on labs (minimum 50% of course)

Prerequisites: Working knowledge of some programming language - no Java experience needed

Supported Software Environments:

  • Standard: Java 8 and Eclipse IDE
  • Other Available IDEs IntelliJ IDEA, IBM RAD (upon request)
(Non-standard software may require additional wait and incur additional charges.)

Course Objectives:

Course Outline:

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