You are previewing Inside XSLT.
O'Reilly logo
Inside XSLT

Book Description

Inside XSLT is designed to be a companion guide to Inside XML. This example oriented book covers XML to HTML, XML to Music, XML with Java, style sheet creation and usage, nodes and attributes, sorting data, creating Xpath expressions, using Xpath and XSLT functions, namespaces, names templates, name variables, designing style sheets and using XSLT processor API's, the 56 XSL formatting objects, the XSLT DTD, and much much more.

Table of Contents

  1. Copyright
  2. About the Author
  3. About the Technical Reviewers
  4. Acknowledgments
  5. Tell Us What You Think
  6. Introduction
  7. Essential XSLT
    1. XSL = XSLT + XSL-FO
    2. A Little Background
    3. XML Documents
    4. What Does XML Look Like in a Browser?
    5. XSLT Transformations
    6. Making an XSLT Transformation Happen
    7. Using Standalone XSLT Processors
    8. Using Browsers to Transform XML Documents
    9. Using XSLT and JavaScript in the Internet Explorer
    10. XSLT Transformations on Web Servers
    11. XML-to-XML Transformations
    12. XML-to-XHTML Transformations
    13. XSLT Resources
    14. XSL Formatting Objects: XSL-FO
    15. XSL-FO Resources
    16. Formatting an XML Document
    17. The XSLT Stylesheet
    18. Transforming a Document into Formatting Object Form
    19. Creating a Formatted Document
  8. Creating and Using Stylesheets
    1. Trees and Nodes
    2. The Information Set Model Versus the XSLT Tree Model
    3. Working with XSLT Elements
    4. The <?xsl:stylesheet?> Processing Instruction
    5. The <xsl:stylesheet> Element
    6. Top-Level Stylesheet Elements
    7. The <xsl:template>Element
    8. Template Bodies
    9. The <xsl:apply-templates>Element
    10. Accessing Node Values
    11. XML Base Support
    12. Choosing Output Methods
    13. Simplified Stylesheets
    14. Embedded Stylesheets
    15. The <xsl:include> Element
    16. The <xsl:import> Element
    17. The <xsl:apply-imports> Element
    18. Using Internet Explorer to Transform XML Documents
  9. Creating and Using Templates
    1. Creating a Template
    2. Processing Child Nodes
    3. Accessing Node Values
    4. Creating Match Patterns
    5. Selecting Which Template to Apply
    6. Reading Attribute Values
    7. The <xsl:text> Element
    8. Disabling Output Escaping
    9. Writing Attribute Values
    10. Attribute Value Templates
    11. Handling Whitespace
    12. The <xsl:strip-space> and <xsl:preserve-space> Elements
    13. Automatic Indenting
    14. Default Template Rules
    15. Deleting Content
    16. Template Conflict Resolution
    17. The <xsl:copy> Element
    18. The <xsl:copy-of > Element
    19. The <xsl:message> Element
  10. Creating Match Patterns
    1. Matching the Root Node
    2. Matching Elements
    3. Matching Children
    4. Matching Element Descendants
    5. Matching Attributes
    6. Formally Defining Match Patterns
    7. Part 1 of Step Patterns: Pattern Axes
    8. Part 2 of Step Patterns: Node Tests
    9. Part 3 of Step Patterns: Predicates
    10. Creating Predicates
    11. Matching by ID
    12. Matching by Key
    13. Using the Or Operator
    14. Pattern Examples
  11. Making Choices and Sorting Data
    1. The <xsl:if> Element
    2. The <xsl:choose>, <xsl:when>, and <xsl:otherwise> Elements
    3. The <xsl:for-each> Element
    4. Sorting Elements
    5. The <xsl:number> Element
    6. XSLT Extensibility
    7. Extension Functions
    8. Extension Elements
    9. The <xsl:fallback> Element
  12. Transforming from XML to XML, HTML, XHTML, RTF, and Modifying Document Content
    1. The <xsl:output> Element
    2. Altering Document Structure Based on Input
    3. The <xsl:element> Element: Creating New Elements at Run Time
    4. The <xsl:attribute> Element: Creating New Attributes
    5. The <xsl:comment> Element: Generating Comments
    6. The <xsl:processing-instruction> Element: Generating Processing Instructions
    7. The <xsl:document> Element: Generating Multiple Output Documents
    8. The <xsl:namespace> Element: Generating Namespace Declarations
    9. The <xsl:attribute-set> Element: Generating Attribute Sets
    10. Omitting the XML Declaration and Generating XML Fragments
    11. Using generate-id to Create Unique Identifiers
    12. Creating CDATA Sections
    13. Setting Character Encoding
    14. Modes: Context-Specific Formatting
  13. Using and Understanding XPath
    1. Understanding XPath
    2. XPath Data Types
    3. Creating XPath Location Paths
    4. Part 1 of XPath Location Steps: Axes
    5. Part 2 of XPath Location Steps: Node Tests
    6. Part 3 of XPath Location Steps: Predicates
    7. Using the XPath Axes
    8. Using the ancestor Axis
    9. Using the ancestor-or-self Axis
    10. Using the descendant Axis
    11. Using the descendant-or-self Axis
    12. Using the following Axis
    13. Using the following-sibling Axis
    14. Using the namespace Axis
    15. Using the parent Axis
    16. Using the preceding Axis
    17. Using the preceding-sibling Axis
    18. Using the self Axis
    19. Location Path Examples
    20. XPath Abbreviated Syntax
    21. Checking XPath Expressions
    22. XPath 2.0
  14. Using the XSLT and XPath Functions
    1. The XSLT Functions
    2. The XPath Node Set Functions
    3. The XPath String Functions
    4. The XPath Number Functions
    5. The XPath Boolean Functions
    6. The <xsl:decimal-format> Element: Creating Numeric Formats
    7. New Functions in XSLT and XPath 2.0
  15. Named Templates, Parameters, and Variables
    1. The <xsl:variable> Element: Creating Variables
    2. The <xsl:call-template> Element: Using Named Templates
    3. The <xsl:param> and <xsl:with-param> Elements:Creating Parameters
    4. Default Template Values
    5. The <xsl:key> Element: Matching by Key
    6. The <xsl:document> Element: Generating Multiple Result Documents
    7. The <xsl:namespace-alias> Element: Generating Stylesheets
  16. Using XSLT Processor APIs
    1. XSLT and JavaScript in the Internet Explorer
    2. Handling Parsing Errors
    3. Internet Explorer and Dynamic Styles
    4. Internet Explorer and XML Data Islands
    5. Calling Java Directly from XSLT Processors
    6. Interfacing to XSLT Java APIs
    7. Interfacing Xalan to Java
    8. Interfacing Saxon to Java
    9. Interfacing the Oracle XSLT Processor to Java
    10. Interfacing XT to Java
    11. Transforming XML to SQL-Based Databases
    12. Using XSLT with Active Server Pages
    13. Using XSLT with Java Server Pages
    14. Using XSLT with Java Servlets
  17. XSL-FO Documents: Text and Tables
    1. XSL Formatting
    2. The XSL-FO Formatting Objects
    3. The XSL-FO Formatting Properties
    4. Formatting an XML Document
    5. Using an XSLT Stylesheet to Transform to XSL-FO
    6. Creating the Document Root: <fo:root>
    7. Creating the Master Set Layout: <fo:layout-master-set>
    8. Creating a Page Master: <fo:simple-page-master>
    9. Creating Regions
    10. Creating Page Sequences: <fo:page-sequence>
    11. Creating Flows: <fo:flows>
    12. Creating Block-Level Content: <fo:block>
    13. Creating Tables
    14. Creating Tables: <fo:table>
    15. Creating Table Columns: <fo:table-column>
    16. Creating Table Bodies: <fo:table-body>
    17. Creating Table Rows: <fo:table-row>
    18. Creating Table Cells: <fo:table-cell>
  18. Using XSLT to Create XSL-FO Documents: Lists, Images, Columns, and Positioning
    1. Creating XSL-FO Lists
    2. Positioning Text with Block Containers: <fo:block-container>
    3. Inline-Level Formatting Objects
    4. Creating Footnotes: <fo:footnote> and <fo:footnote-body>
    5. Creating Links: <fo:basic-link>
    6. Creating Columns
    7. Page Sequences and Page Numbering
  19. The XSLT DTD
    1. DTD Fragment for XSLT Stylesheets (Non-Normative)
  20. XSL-FO Formatting Properties