516. XSLT
Rev. 1.2
This course is now available directly from our partner, Capstone Courseware.
This comprehensive four-day course develops in-depth knowledge and
skills in transforming XML documents using eXtensible Stylesheet Language
Transformations, or XSLT. Students work
through extensive hands-on exercises in transformations from XML to plain text,
HTML, and XML, with good grounding in XPath along the way. Intermediate and advanced techniques are also
covered including variables and parameters, callable templates, sorting and
grouping, tail recursion, working with multiple documents, and XSLT
extensions. The course teaches XPath and
XSLT 1.0 but looks forward to the 2.0 releases of both specifications with
pointers about what new features to expect.
LEARNING OBJECTIVES
·
Write simple and complex queries into XML
document content using XPath.
·
Harness the built-in template rules to process just
the right source information, getting maximum leverage from the XSLT processor.
·
Control the exact production of text, HTML and
XML elements, and whitespace.
·
Use mode and priority to control template
matching.
·
Use looping and conditional processing to manage
output production.
·
Declare, bind and reference XSLT variables and
parameters.
·
Use callable templates to capture common
transformations and styling.
·
Filter and sort XSLT output.
·
Use XSLT keys and other techniques to achieve
grouping in transformation output and to derive aggregate information on
groups.
·
Produce refined transformation output including
auto-numbering, formatted numeric output, and aggregate values such as sums and
counts.
·
Implement more complex processes using tail
recursion in callable templates.
·
Use the XSLT document function to manage
multiple source documents.
·
Import and include multiple transform
definitions to foster reuse of transformation logic.
·
Use XSLT extensions to empower transforms with
more sophisticated and reusable logic.
Course Duration: 4 days
Prerequisites – OI Course 501 or similar:
·
Ability to read and to write well-formed XML.
·
Ability to read a DTD not strictly required, but
preferred.
1.
Getting Started with XSLT
XSL and XSLT
Rule-Based Transformations
Templates
Producing Text, HTML, and XML
2.
XPath
Addressing XML Content
XPath in XSLT
Tree Structure
XPath Expressions
Type Model
Context
Axis, Node Test, and Predicate
Abbreviations
Proximity Position
XPath Functions
Comparisons Between Various Types
3.
Templates and Production
Template Matching
Built-In Template Rules
Recursion Through Templates
Template Context
Output Methods
Controlling Whitespace
Literal Replacement Elements
Formalizing Text, Elements and Attributes
Defining Target Vocabulary
Generating Processing Instructions
4.
Dynamic Content and Flow Control
Deriving Source Content
Getting Source Values
Attribute Value Templates
Copying Source Elements and Trees
Looping
Conditionals
5.
Variables and Template Management
Variables
Using Variables to Capture Context Information
Result Tree Fragments
Parameters
Calling Templates Explicitly
Global Variables and Stylesheet Parameters
Template Modes
6.
Sorting and Grouping
Sorting
Data Type for Sorting
Grouping
Uses for Grouping
Using the Preceding-Sibling Axis
Using XSLT Keys
Iterating Over Groups
Iterating Within a Group
7.
Advanced XSLT
Auto-Numbering
Number Formatting
XSLT Performance
Debugging and Diagnostics
Computing Aggregate Values
Tail Recursion
8.
Multiple Documents and Transforms
Merging Multiple Source Documents
The XSLT Document Function
Reusing Transformation Logic
Including Transforms
Importing Transforms
9.
Extensions
Extension Namespaces and Exclusions
Extension Elements
Extension Functions
EXSLT
Redirects
Node-Set Conversion
Learning Resources
System Requirements
Software for this course can be installed and run on Windows or
Linux systems. A few small packages of XML
tools must be installed for parsing, transformation, and schema validation –
these require a Java Runtime Environment, version 1.4.2.
Hardware requirements are not great;
a good minimal system for this course would have a Pentium 500MHz or
equivalent CPU, 128meg of RAM and at least 50 megabytes of free disk space for
tools installation.