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 Features
- Lectures 0
- Quizzes 0
- Duration 4 Days
- Skill level All levels
- Language English
- Students 0
- Assessments Yes
Getting Started with XSLT
- XSL and XSLT
- Rule-Based Transformations
- Templates
- Producing Text, HTML, and XML
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
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
Dynamic Content and Flow Control
- Deriving Source Content
- Getting Source Values
- Attribute Value Templates
- Copying Source Elements and Trees
- Looping
- Conditionals
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
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
Advanced XSLT
- Auto-Numbering
- Number Formatting
- XSLT Performance
- Debugging and Diagnostics
- Computing Aggregate Values
- Tail Recursion
Multiple Documents and Transforms
- Merging Multiple Source Documents
- The XSLT Document Function
- Reusing Transformation Logic
- Including Transforms
- Importing Transforms
Extensions
- Extension Namespaces and Exclusions
- Extension Elements
- Extension Functions
- EXSLT
- Redirects
- Node-Set Conversion