Course duration
- 4 days
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
- An XSLT Stylesheet
- xsl:template
- xsl:value-of
- Whitespace and xsl:text
- Output Types
- Text
- XML
- HTML
- XSLT Elements and Attributes
- xsl:element
- xsl:attribute
- Attributes and Curly Brackets
- XPath
- XPath in XSLT
- XPath Expression
- XPath Terminology
- Context Node
- Current Node
- Context Size
- Proximity Position
- Location Paths
- Axis
- Node Test
- Predicate
- Accessing Nodes
- Abbreviated Syntax
- XPath Functions
- XPath Operators
- Flow Control in XSLT
- Looping in XSLT
- Sorting with XSLT
- Looping and Sorting
- Conditions with XSLT
- XSLT Templates, Parameters and Variables
- xsl:apply-templates
- xsl:call-template
- Passing Parameters
- Removing Content
- Template Modes
- Template Priority
- Default Priorities
- Assigning Priorities
- XSLT Variables
- Multiple XML and XSLT Documents
- Including XSLTs
- Importing XSLTs
- Conflict resolution
- The document() Function
- Working with Keys
- Key Basics
- <xsl:key/>
- The key() Function
- Improving Performance with Keys
- Cross References
- The Key Way
- Grouping
- The generate-id() Function
- Using generate-id() for Grouping
- Key Basics
- Advanced XSLT Techniques
- Working with Numbered Lists
- The position() function
- xsl:number
- Outputting Processing Instructions
- Copying Nodes
- xsl:copy
- xsl:copy-of
- Working with Numbered Lists
- Tying It All Together
- Workshop: Sharing data and transforming it for the Web
- 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.
Experience in the following is required for this XML class:
- Basic XML
Courses that can help you meet these prerequisites:
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.