Learning XSLT
A hands-On introduction to XSLT and Xpath
Samenvatting
XSLT is a powerful language for transforming XML documents into something else. That something else can be an HTML document, another XML document, a Portable Document Format (PDF) file, a Scalable Vector Graphics (SVG) file, a Virtual Reality Modeling Language (VRML) file, Java code, or a number of other things. You write an XSLT stylesheet to define the rules for transforming an XML document, and the XSLT processor does the work.
As useful as XSLT is, its peculiar characteristics make it a difficult language in which to get started. In fact, newcomers are often a little dazed on first contact. 'Learning XSLT' offers a hands-on introduction to help them get up to speed with XSLT quickly. The book will help web developers and designers understand this powerful but often mystifying template-driven and functional-styled language, getting them over the many differences between XSLT and the more conventional programming languages.
'Learning XSLT' moves smoothly from the simple to complex, illustrating all aspects of XSLT 1.0 through step-by-step examples that you'll practice as you work through the book. Thorough in its coverage of the language, the book makes few assumptions about what you may already know. You'll learn about XSLT's template-based syntax, how XSLT templates work with each other, and gain an understanding of XSLT variables. 'Learning XSLT' also explains how the XML Path Language (XPath) is used by XSLT and provides a glimpse of what the future holds for XSLT 2.0 and XPath 2.0.
The ability to transform one XML vocabulary to another is fundamental to exploiting the power of XML. 'Learning XSLT' is a carefully paced, example-rich introduction to XSLT that will have you understanding and using XSLT on your own in no time.
Specificaties
Inhoudsopgave
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