Preface | p. xi |
Getting Started | p. 1 |
The Design of XSLT | p. 1 |
XML Basics | p. 4 |
Installing XSLT Processors | p. 20 |
Summary | p. 24 |
The Obligatory Hello World Example | p. 25 |
Goals of This Chapter | p. 25 |
Transforming Hello World | p. 25 |
How a Stylesheet Is Processed | p. 27 |
Stylesheet Structure | p. 30 |
Sample Gallery | p. 36 |
Summary | p. 44 |
XPath: A Syntax for Describing Needles and Haystacks | p. 45 |
The XPath Data Model | p. 46 |
Location Paths | p. 55 |
Attribute Value Templates | p. 66 |
Datatypes | p. 67 |
XPath Operators | p. 71 |
[2.0] Comments in XPath Expressions | p. 102 |
[2.0] Types of XSLT 2.0 Processors | p. 104 |
The XPath View of an XML Document | p. 104 |
Summary | p. 112 |
Creating Output | p. 113 |
Goals of This Chapter | p. 113 |
Generating Text | p. 113 |
Numbering Things | p. 118 |
Formatting Decimal Numbers | p. 127 |
[2.0] Formatting Dates and Times | p. 130 |
Using [left angle bracket]xsl:copy[right angle bracket] and [left angle bracket]xsl:copy-of[right angle bracket] | p. 132 |
Dealing with Whitespace | p. 139 |
Summary | p. 144 |
Branching and Control Elements | p. 145 |
Goals of This Chapter | p. 145 |
Branching Elements of XSLT | p. 145 |
Invoking Templates by Name | p. 151 |
Parameters | p. 152 |
Variables | p. 167 |
Using Recursion to Do Most Anything | p. 169 |
A Stylesheet That Emulates a for Loop | p. 174 |
Summary | p. 179 |
Creating Links and Cross-References | p. 181 |
Using the XML ID, IDREF, and IDREFS Datatypes | p. 181 |
XSLT's Key Facility | p. 194 |
Generating Links in Unstructured Documents | p. 198 |
Summary | p. 204 |
Sorting and Grouping Elements | p. 205 |
Sorting Data with [left angle bracket]xsl:sort[right angle bracket] | p. 205 |
[2.0] The [left angle bracket]xsl:perform-sort[right angle bracket] Element | p. 215 |
Grouping Nodes | p. 219 |
[2.0] New Grouping Syntax in XSLT 2.0 | p. 228 |
Summary | p. 243 |
Combining Documents | p. 245 |
The document() Function | p. 245 |
The document() Function and Sorting | p. 254 |
Implementing Lookup Tables | p. 254 |
Grouping Across Multiple Documents | p. 257 |
[2.0] Using XSLT 2.0 to Simplify Things | p. 260 |
[2.0] The doc() and doc-available() Functions | p. 269 |
[2.0] The collection() Function | p. 271 |
[2.0] The unparsed-text() and unparsed-text-available() Functions | p. 272 |
Summary | p. 275 |
Extending XSLT | p. 277 |
The XSLT Extension Mechanism | p. 277 |
[2.0] Creating New Functions with [left angle bracket]xsl:function[right angle bracket] | p. 279 |
Example: Generating Multiple Output Files | p. 281 |
Creating Custom Collations | p. 287 |
Generating Hidden Word Graphics | p. 293 |
Example: Generating an SVG Pie Chart | p. 303 |
Writing Extensions in Other Languages | p. 326 |
Using Extension Functions from the EXSLT Library | p. 330 |
Accessing a Database with an Extension Element | p. 333 |
Creating a Photo Album with an Extension Element | p. 339 |
Summary | p. 360 |
XSLT Reference | p. 361 |
XPath Reference | p. 545 |
XSLT, XPath, and XQuery Function Reference | p. 563 |
XML Schema Overview | p. 871 |
[2.0] Regular Expressions | p. 897 |
XSLT Formatting Codes | p. 919 |
XSLT 2.0 Migration Guide | p. 925 |
Glossary | p. 933 |
Index | p. 943 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.