PART I.
1: Introduction. What Is XML?
The Importance of Extensive XML Documents.
The Difference between XML and HTML.
Presenting XML Documents.
The Role of XSLT.
XSLT in the HTML Publishing Pipeline.
Summary.
Looking Ahead.
2: XML. URI.
The Basic XML Document Structure.
Valid Names in XML.
Elements.
Character Data.
Entities.
Processing Instructions.
Comments.
The Root of an XML Document.
Summary.
Looking Ahead.
3: Introduction to XSLT. The Meeting Room Booking Documents.
Designing XSLT Documents.
Summary.
Looking Ahead.
PART II
4: XML Documents as Trees. Tree Terminology.
Converting an XML Document to a Tree.
Traversing a Tree.
Document Order.
Distinctness of Nodes in a Tree.
Summary.
Looking Ahead.
5: Paths. Paths and Expressions.
Location Paths.
Combining Steps.
Data Types and Operations.
Names of Nodes.
Examples of XPath Expressions.
Summary.
Looking Ahead.
6: Transformation. Visualizing Transformation.
Literal Result Elements.
A Simple Template with an xsl:apply-templates Element.
Nested xsl:apply-templates Elements.
Patterns.
Matching Template.
Template Priority.
Current Node and Current Node List Versus Context Node and Context.
Another Look at XSLT Documents.
Summary.
Looking Ahead.
7: Control. The xsl:if Element.
The for-each Element.
Looping with Named Templates.
Sorting.
Sending Messages to the Console.
Parameters Outside the XSLT Document.
Summary.
Looking Ahead.
8: Constructing the Result Tree. The xsl:output Element for HTML.
Including Literal Result Elements.
Constructing Elements.
Inserting Comments.
Inserting Processing Instructions.
The xsl:text Element.
The xsl:value-of Element.
Variables.
Result Tree Fragments.
Whitespace-Only Text Nodes.
Summary.
Looking Ahead.
9: Combining Templates. The xsl:include Element.
The xsl:import Element.
The xsl:apply-imports Element.
Summary.
Looking Ahead.
10: Extensions. Declaring Extension Functions and Extension Elements.
Using Extension Functions.
Using Extension Elements.
Checking Availability.
Summary.
Looking Ahead.
PART III
11: Idioms and Tips. Table Generation.
Character Replacement.
Using xsl:include for Project Reuse.
Using xsl:import for Reuse from Different Projects.
Using the mode Attribute to Organize Templates.
The xsl:include and xsl:import Elements.
Using a Global Parameter to Seed Configuration.
Absolute Paths and Template Patterns.
Steps for Template Patterns.
Using Simple Predicates in Template Patterns.
Using translate()to Convert Cases.
Short Templates.
Identifying Your XML Data.
Using xsl:apply-templates.
One Page at a Time.
Mockup, Generalize, Write.
Working Directory.
Inside-Out XSLT Template Application.
Removing an Element.
Using XML Configuration Files.
Using Lineup Files.
One Subtree at a Time.
Using xsl:copy-of.
Overriding Default Templates.
Avoiding the Descendant Axis.
Reducing the Size of Node-Sets.
Avoiding Multiple Predicates.
Summary.
Looking Ahead.
12: A Case Study. The Web Site.
Designing the XML Files.
Organizing the XSLT Documents.
Designing the XSLT Templates.
Summary.
Looking Ahead.
PART IV
13: Transforming to XML and Text. XHTML.
XSL.
SVG.
Transforming an XML Document to Text.
Summary.
Appendix A: Tools and Resources. XML Tools.
Resources.
XSLT Web Sites and Mailing Lists.
Where to Find the Examples.
Appendix B: Character Sets and Encoding Schemes. Appendix C: XSLT and XPath Reference. XSLT Elements.
XSLT and XPath Functions.
Suggested Resources. Index.