XSLT and XPath (2 days)

    This is a practical, hands-on course for developers with experience of XML wishing to gain an insight into the advanced features of XSLT.

    Overview of XSL, XSLT and XPath

    The transformation process, Declaring an XSL style sheet, XSL templates, XSLT elements, XPath syntax, XPath expressions, XPath functions, Node functions, Numeric functions , String functions

    XSLT 2.0 and XPath 2.0

    New XSLT 2.0 Features, New XPath 2.0 Features, Multiple Result Trees, Using Regular Expressions, Grouping in XSLT 2.0, Extension Functions, Coping with XPath 2.0’s Extended Type System, Exploiting XPath 2.0’s Extended Type System

    Exploiting XSLT 2.0

    Convert Simple Named Templates to XSLT Functions, Prefer for-each-group over Muenchian Method of Grouping, Modularizing and Modes, Using Types for Safety and Precision, Avoiding 1.0 to 2.0 Porting Pitfalls, Emulating Object-Oriented Reuse and Design Patterns, Processing Unstructured Text with Regular Expressions, Solving Difficult Serialization Problems with Character Maps, Outputting Multiple Documents, Handling String Literals Containing Quote Characters, Understanding the New Capabilities of Old XSLT 1.0 Features

    XML to Text

    Dealing with Whitespace, Exporting XML to Delimited Data, Creating a Columnar Report, Displaying a Hierarchy, Numbering Textual Output, Wrapping Text to a Specified Width and Alignment

    XML to XML

    Converting Attributes to Elements, Converting Elements to Attributes, Renaming Elements or Attributes, Merging Documents with Identical Schema, Merging Documents with Unlike Schema, Splitting Documents, Flattening an XML Hierarchy, Deepening an XML Hierarchy, Reorganizing an XML Hierarchy

    Querying XML

    Performing Set Operations on Node Sets, Performing Set Operations on Node Sets Using Value Semantics, Determining Set Equality by Value, Performing Structure-Preserving Queries, Joins, Implementing the W3C XML Query-UseCases in XSLT

    XML to HTML

    Using XSLT as a Styling Language, Creating Hyperlinked Documents, Creating HTML Tables, Creating Frames, Creating Data-Driven Stylesheets, Creating a Self-Contained HTML Transformation, Populating a Form