Preface
1. Transforming Documents with XSLT
How XSLT Works
Using Client-Side XSLT in a Browser
Using apply-templates
2. Building New Documents with XSLT
Outputting Text
Literal Result Elements
Using the Element Called element
Adding Attributes
Outputting Comments
Outputting Processing Instructions
One Final Example
3. Controlling Output
The Output Method
Outputting XML
Outputting HTML
Outputting Text
Using a QName Output Method
Media Types
4. Traversing the Tree
The XPath Data Model
Location Paths
Expressions
What Is a Pattern?
Predicates
Axes
Name and Node Tests
Doing the Math with Expressions
5. XPath and XSLT Functions
Boolean Functions
Node-Set Functions
Number Functions
String Functions
6. Copying Nodes
The copy Element
The copy-of Element
Copying Nodes from Two Documents
7. Using Variables and Parameters
Defining Variables and Parameters
Using Variables
Using Parameters
Invoking Templates with Parameters
Using Result Tree Fragments
8. Sorting Things Out
Simple Ascending Sort
Reversing the Sort
By the Numbers
Multiple Sorts
The lang and case-order Attributes
9. Numbering Lists
Numbered Lists
Alphabetical Lists
Roman Numerals
Inserting an Individual Formatted Value
Numbering Levels
The from Attribute
The lang and letter-value Attributes
More Help with Formatted Numbers
10. Templates
Template Priority
Calling a Named Template
Using Templates with Parameters
Modes
Built-in Template Rules
11. Using Keys
A Simple Key
More Than One Key
Using a Parameter with Keys
Cross-Referencing with Keys
Grouping with Keys
12. Conditional Processing
The if Element
The choose and when Elements
13. Working with Multiple Documents
Including Stylesheets
Importing Stylesheets
Using the document(
) Function
14. Alternative Stylesheets
A Literal Result Element Stylesheet
An Embedded Stylesheet
Aliasing a Namespace
Excluding Namespaces
15. Extensions
Xalan, Saxon, and EXSLT Extensions
Using a Saxon Extension Attribute
Result Tree Fragment to Node-Set
Using EXSLT
Fallback Behavior
Checking for Extension Availability
16. 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
17. Writing an XSLT ProcessorInterface
Running an XSLT Processor from Java
Writing an XSLT Processor with C#
18. Parting Words
The Ox Documentation Tool
Signing Off
Appendix: XSLT Processors
Glossary
Index