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 Code: XSLT
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:
(Non-standard software may require additional wait and incur additional charges.)
- Standard: Java 8 and Eclipse IDE
- Other Available IDEs IntelliJ IDEA, IBM RAD (upon request)
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,
- Namespace scope and overriding
- Default Namespaces
- Namespaces and Attributes
Valid XML Documents
- Definition of a valid document
- Definition of a schema
- Schema Languages
- 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
- Defining new Simple Types by Restriction, Enumeration, List,
- 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
- 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
- xsl:choose, xsl:when, xsl:otherwise
- Lab: Using Conditional Processing