Comprehensive XSL 2.0 Training

Comprehensive XSL 2.0 Training

Course Length:
Delivery Methods:
Course Topics
  • Learn to use XPath to access XML elements and attributes
  • Learn to loop through XML elements
  • Learn to use conditionals in XSLT
  • Learn to create and call templates
  • Learn to work with multiple XSLTs
  • Learn to reference external XML documents
  • Learn how the Formatting Objects (FO) language works
  • Learn to auto-generate FO documents from XML with XSLT
  • Learn to use a Formatting Objects Engine to generate PDF documents from XML
Course Overview

This XSL training class teaches developers how to use XSLT 2.0 and XPath 2.0 to transform XML documents into HTML, plain text and other XML formats with XSLT and to PDF with XSL-FO.

Course Outline
  1. XSLT Basics
    1. eXtensible Stylesheet Language
    2. An XSLT Stylesheet
      1. xsl:template
      2. xsl:value-of
      3. Whitespace and xsl:text
    3. Output Types
      1. Text
      2. XML
      3. HTML and XHTML
    4. XSLT Elements and Attributes
      1. xsl:element
      2. xsl:attribute
      3. Attributes and Curly Brackets
  2. XPath Path Expressions
    1. XPath in XSLT
    2. XPath Expression
    3. XPath Terminology
      1. Context Node
      2. Current Node
      3. Context Size
      4. Proximity Position
    4. Location Paths
    5. Axis
    6. Node Test
    7. Predicate
    8. Accessing Nodes
    9. Abbreviated Syntax
  3. XPath Language Basics
    1. XPath Functions
    2. XPath Operators
    3. XPath Data Types
    4. XPath Expressions
      1. for Expressions
      2. if-then-else Expressions
  4. Flow Control in XSLT
    1. Looping in XSLT
    2. Sorting with XSLT
    3. Looping and Sorting
    4. Conditions with XSLT
  5. XSLT Templates, Parameters and Variables
    1. xsl:apply-templates
    2. xsl:call-template
    3. Passing Parameters
    4. Removing Content
    5. Template Modes
    6. Template Priority
      1. Default Priorities
      2. Assigning Priorities
    7. XSLT Variables
  6. Multiple XML and XSLT Documents
    1. Including XSLTs
    2. Importing XSLTs
    3. Conflict resolution
    4. The document() Function
    5. The collection() Function
    6. Multiple Result Documents
  7. Grouping
    1. The xsl:group Element
    2. Grouping by Value
    3. Grouping Adjacent Elements
    4. Grouping by Starting and Ending Elements
  8. Regular Expressions
    1. Regular Expression Syntax in XSLT
    2. The xsl:analyze-string Element
    3. Built-in Functions that Use Regular Expressions
  9. User-Defined Functions
    1. The xsl:function Element
    2. Function Names and Parameters
    3. Calling User-Defined Functions
  10. Advanced XSLT Techniques
    1. Working with Namespaces
      1. What Are Namespaces?
      2. Declaring Namespaces in XSLT
      3. Namespace Declarations and XPath Expressions
    2. Working with Keys
      1. Key Basics
        1. <xsl:key/>
        2. The key() Function
        3. Improving Performance with Keys
          1. Cross References
          2. The Key Way
      2. The generate-id() Function
    3. Working with Numbered Lists
      1. The position() function
      2. xsl:number
    4. Outputting Processing Instructions
    5. Copying Nodes
      1. xsl:copy
      2. xsl:copy-of
  11. Tying It All Together
    1. Workshop: Sharing data and transforming it for the Web
  12. Formatting Objects Basics
    1. The purpose of XSL-FO
    2. How XSL-FO Works
      1. XSL-FO Document Parts
      2. An XSL-FO Example
      3. The Root Element: root
      4. layout-master-set and simple-page-master
      5. Regions
      6. page-sequence
      7. flow and static-content
      8. block
    3. Static Content
      1. region-before and region-after
      2. static-content
  13. Blocks and Inlines
    1. Formatting Blocks
      1. Box Model
      2. Border
      3. Space, Indent and Padding
      4. Background
      5. A Formatting Example
      6. Formatting Text
    2. Inline Elements
    3. Inheritance
      1. wrapper
    4. Creating Lists
      1. list-block
      2. list-item
      3. list-item-label
      4. list-item-body
    5. Whitespace
  14. Page Layout
    1. Page Masters
    2. Simple Layout
      1. fo:simple-page-master
      2. fo:region-body
      3. fo:region-before, fo:region-after, fo:region-start, and fo:region-end
    3. page-sequence-master
      1. Creating a Cover Page
      2. Odd and Even Pages
    4. Blank Pages
      1. break-before and break-after
    5. Columns
  15. Links and Graphics
    1. External Links
    2. Graphics
    3. Internal Links
  16. Tying It All Together: XSL-FO
    1. Tying it all Together
  17. Keeps, Orphans, and Widows
    1. Keep Constraints
      1. keep-with-previous and keep-with-next
      2. keep-together
    2. Orphans and Widows
  18. Leaders, Markers and Page Numbers
    1. The Output
    2. Table of Contents
      1. Page Numbering
    3. Leaders
    4. Markers
  19. Tables
    1. Creating Tables
      1. fo:table
      2. fo:table-column
      3. fo:table-header, fo:table-body, fo:table-footer
      4. fo:table-row
      5. fo:table-cell
  20. Footnotes and Floats
    1. Footnotes
      1. xsl-footnote-separator
    2. Floats
Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this XML class:

  • Basic XML
Prerequisite Courses

Courses that can help you meet these prerequisites:

Follow-on Courses
Request a Private Class
  • Private Class for your Team
  • Online or On-location
  • Customizable
  • Expert Instructors
Request Pricing
Register for a Live Class

This course is composed of the following live classes, which you can sign up for individually.

XSLT 2.0 and XPath 2.0 Training
Next Class: Aug 24-26, 2020 10AM-5PM ET

Introduction to XSL-FO
Next Class: Aug 4-5, 2020 10AM-5PM ET