Books & Videos

Table of Contents

  1. Chapter 1 XPath

    1. Introduction

    2. Effectively Using Axes

    3. Filtering Nodes

    4. Working with Sequences

    5. Shrinking Conditional Code with If Expressions

    6. Eliminating Recursion with for Expressions

    7. Taming Complex Logic Using Quantifiers

    8. Using Set Operations

    9. Using Node Comparisons

    10. Coping with XPath 2.0's Extended Type System

    11. Exploiting XPath 2.0's Extended Type System

  2. Chapter 2 Strings

    1. Introduction

    2. Testing If a String Ends with Another String

    3. Finding the Position of a Substring

    4. Removing Specific Characters from a String

    5. Finding Substrings from the End of a String

    6. Duplicating a String N Times

    7. Reversing a String

    8. Replacing Text

    9. Converting Case

    10. Tokenizing a String

    11. Making Do Without Regular Expressions

    12. Exploiting Regular Expressions

    13. Using the EXSLT String Extensions

  3. Chapter 3 Numbers and Math

    1. Introduction

    2. Formatting Numbers

    3. Rounding Numbers to a Specified Precision

    4. Converting from Roman Numerals to Numbers

    5. Converting from One Base to Another

    6. Implementing Common Math Functions

    7. Computing Sums and Products

    8. Finding Minimums and Maximums

    9. Computing Statistical Functions

    10. Computing Combinatorial Functions

    11. Testing Bits

  4. Chapter 4 Dates and Times

    1. Introduction

    2. Calculating the Day of the Week

    3. Determining the Last Day of the Month

    4. Getting Names for Days and Months

    5. Calculating Julian and Absolute Day Numbers from a Specified Date

    6. Calculating the Week Number for aSpecified Date

    7. Working with the Julian Calendar

    8. Working with the ISO Calendar

    9. Working with the Islamic Calendar

    10. Working with the Hebrew Calendar

    11. Formatting Dates and Times

    12. Determining Secular and Religious Holidays

  5. Chapter 5 Selecting and Traversing

    1. Introduction

    2. Ignoring Duplicate Elements

    3. Selecting All but a Specific Element

    4. Selecting Nodes by Context

    5. Performing a Preorder Traversal

    6. Performing a Postorder Traversal

    7. Performing an In-Order Traversal

    8. Performing a Level-Order Traversal

    9. Processing Nodes by Position

  6. Chapter 6 Exploiting XSLT 2.0

    1. Introduction

    2. Convert Simple Named Templates to XSLT Functions

    3. Prefer for-each-group over Muenchian Method of Grouping

    4. Modularizing and Modes

    5. Using Types for Safety and Precision

    6. Avoiding 1.0 to 2.0 Porting Pitfalls

    7. Emulating Object-Oriented Reuse and Design Patterns

    8. Processing Unstructured Text with Regular Expressions

    9. Solving Difficult Serialization Problems with Character Maps

    10. Outputting Multiple Documents

    11. Handling String Literals Containing Quote Characters

    12. Understanding the New Capabilities of Old XSLT 1.0 Features

  7. Chapter 7 XML to Text

    1. Introduction

    2. Dealing with Whitespace

    3. Exporting XML to Delimited Data

    4. Creating a Columnar Report

    5. Displaying a Hierarchy

    6. Numbering Textual Output

    7. Wrapping Text to a Specified Width and Alignment

  8. Chapter 8 XML to XML

    1. Introduction

    2. Converting Attributes to Elements

    3. Converting Elements to Attributes

    4. Renaming Elements or Attributes

    5. Merging Documents with Identical Schema

    6. Merging Documents with Unlike Schema

    7. Splitting Documents

    8. Flattening an XML Hierarchy

    9. Deepening an XML Hierarchy

    10. Reorganizing an XML Hierarchy

  9. Chapter 9 Querying XML

    1. Introduction

    2. Performing Set Operations on Node Sets

    3. Performing Set Operations on Node Sets Using Value Semantics

    4. Determining Set Equality by Value

    5. Performing Structure-Preserving Queries

    6. Joins

    7. Implementing the W3C XML Query-UseCases in XSLT

  10. Chapter 10 XML to HTML

    1. Introduction

    2. Using XSLT as a Styling Language

    3. Creating Hyperlinked Documents

    4. Creating HTML Tables

    5. Creating Frames

    6. Creating Data-Driven Stylesheets

    7. Creating a Self-Contained HTML Transformation

    8. Populating a Form

  11. Chapter 11 XML to SVG

    1. Introduction

    2. Transforming an Existing Boilerplate SVG

    3. Creating Reusable SVG Generation Utilities for Graphs and Charts

    4. Creating a Tree Diagram

    5. Creating Interactive SVG-Enabled Web Pages

  12. Chapter 12 Code Generation

    1. Introduction

    2. Generating Constant Definitions

    3. Generating Switching Code

    4. Generating Message-Handling Stub Code

    5. Generating Data Wrappers

    6. Generating Pretty Printers

    7. Generating a Test Data-Entry Web Client

    8. Generating Test-Entry Web CGI

    9. Generating Code from UML Models via XMI

    10. Generating XSLT from XSLT

  13. Chapter 13 Vertical XSLT Application Recipes

    1. Introduction

    2. Converting Visio VDX Documents to SVG

    3. Working with Excel XML Spreadsheets

    4. Generating XTM Topic Maps from UML Modelsvia XMI

    5. Generating Web Sites from XTM Topic Maps

    6. Serving SOAP Documentation from WSDL

  14. Chapter 14 Extending and Embedding XSLT

    1. Introduction

    2. Saxon Extension Functions

    3. Saxon Extension Elements

    4. Xalan-Java 2 Extension Functions

    5. Java Extension Function Using the Class Format Namespace

    6. Java Extension Function Using the Package Format Namespace

    7. Java Extension Function Using the Java Format Namespace

    8. Scripting Extension Function Using Inline Script Code

    9. Xalan-Java 2 Extension Elements

    10. Java Extension Element

    11. Scripting Extension Elements

    12. MSXML Extension Functions

    13. Using Saxon's and Xalan's Native Extensions

    14. Extending XSLT with JavaScript

    15. Adding Extension Functions Using Java

    16. Adding Extension Elements Using Java

    17. Using XSLT from Perl

    18. Using XSLT from Java

  15. Chapter 15 Testing and Debugging

    1. Introduction

    2. Using xsl:message Effectively

    3. Tracing the Flow of Your Stylesheet Through Its Input Document

    4. Automating the Insertion of Debug Output

    5. Including Embedded Unit Test Data in Utility Stylesheets

    6. Structuring Unit Tests

    7. Testing Boundary and Error Conditions

  16. Chapter 16 Generic and Functional Programming

    1. Introduction

    2. Creating Polymorphic XSLT

    3. Creating Generic Element Aggregation Functions

    4. Creating Generic Bounded Aggregation Functions

    5. Creating Generic Mapping Functions

    6. Creating Generic Node-Set Generators

  1. Colophon