XSLT and XSL-FO Training (XSL502)
Course Length: 5 days
Delivery Methods:
Available as private class only
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 Benefits
- 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 Outline
- XSLT Basics
- eXtensible Stylesheet Language
- The Transformation Process
- An XSLT Stylesheet
- Output Types
- Elements and Attributes
- XPath
- XPath in XSLT
- XPath Expression
- Path Expressions
- Node Test
- Axis
- Predicate
- Accessing Nodes (exercise)
- Abbreviated Syntax
- Accessing Nodes with Abbreviated Syntax (exercise)
- Understanding the Enhanced Data Model in XPath 2.0 and Beyond
- XPath Functions
- XPath Operators
- Using XPath Functions and Operators (exercise)
- Flow Control
- Looping in XSLT
- Looping with xsl:for-each (exercise)
- Sorting with XSLT
- Looping and Sorting (exercise)
- Conditions with XSLT
- Conditionals (exercise)
- Templates Parameters Variables
- xsl:apply-templates
- Using xsl:apply-templates (exercise)
- xsl:call-template
- Passing Parameters
- Using xsl:call-template (exercise)
- Removing Content
- Template Modes
- Template Priority
- XSLT Variables
- Multiple Documents
- Including XSLTs
- Importing XSLTs
- Conflict Resolution
- Multiple Input and Output Documents
- Reusing Templates (exercise)
- Grouping and Keys
- Grouping
- Grouping Songs By Artist (exercise)
- Key Basics
- Creating a Simple Key (exercise)
- Improving Performance with Keys
- Improving Performance with Keys (exercise)
- Regular Expressions
- Regular Expression Syntax
- Functions that Use Regular Expressions
- The xsl:analyze-string instruction
- Using xsl:analyze-string (exercise)
- User-defined Functions
- User-Defined Functions
- User-Defined Functions (exercise)
- Advanced XSLT Techniques
- Working with Namespaces
- Working with Numbered Lists
- Outputting Processing Instructions
- Copying Nodes
- Tying It All Together - XSLT
- Transforming the Business Letter (exercise)
- Formatting Objects Basics
- The purpose of XSL-FO
- How XSL-FO Works
- XSL-FO Document Parts
- An XSL-FO Example
- The Root Element: root
- layout-master-set and simple-page-master
- Regions
- page-sequence
- flow and static-content
- block
- Static Content
- region-before and region-after
- static-content
- Blocks and Inlines
- Formatting Blocks
- Box Model
- Border
- Space, Indent and Padding
- Background
- A Formatting Example
- Formatting Text
- Inline Elements
- Inheritance
- wrapper
- Creating Lists
- list-block
- list-item
- list-item-label
- list-item-body
- Whitespace
- Formatting Blocks
- Page Layout
- Page Masters
- Simple Layout
- fo:simple-page-master
- fo:region-body
- fo:region-before, fo:region-after, fo:region-start, and fo:region-end
- page-sequence-master
- Creating a Cover Page
- Odd and Even Pages
- Blank Pages
- break-before and break-after
- Columns
- Links and Graphics
- External Links
- Graphics
- Internal Links
- Tying It All Together: XSL-FO
- Tying it all Together
- Keeps, Orphans, and Widows
- Keep Constraints
- keep-with-previous and keep-with-next
- keep-together
- Orphans and Widows
- Keep Constraints
- Leaders, Markers and Page Numbers
- The Output
- Table of Contents
- Page Numbering
- Leaders
- Markers
- Tables
- Creating Tables
- fo:table
- fo:table-column
- fo:table-header, fo:table-body, fo:table-footer
- fo:table-row
- fo:table-cell
- Creating Tables
- Footnotes and Floats
- Footnotes
- xsl-footnote-separator
- Floats
- Footnotes
Class Materials
Each student will receive 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
Live Private Class
- Private Class for your Team
- Live training
- Online or On-location
- Customizable
- Expert Instructors