Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Sal Mangano
XSLT Cookbook, 2nd Edition
A Note Regarding Supplemental Files
Preface
Structure of This Book
Conventions Used in This Book
Using Code Examples
Safari Enabled
How to Contact Us
Acknowledgments
1. XPath
Introduction
1.1. Effectively Using Axes
1.2. Filtering Nodes
1.3. Working with Sequences
1.4. Shrinking Conditional Code with If Expressions
1.5. Eliminating Recursion with for Expressions
1.6. Taming Complex Logic Using Quantifiers
1.7. Using Set Operations
1.8. Using Node Comparisons
1.9. Coping with XPath 2.0’s Extended Type System
1.10. Exploiting XPath 2.0’s Extended Type System
2. Strings
Introduction
2.1. Testing If a String Ends with Another String
2.2. Finding the Position of a Substring
2.3. Removing Specific Characters from a String
2.4. Finding Substrings from the End of a String
2.5. Duplicating a String N Times
2.6. Reversing a String
2.7. Replacing Text
2.8. Converting Case
2.9. Tokenizing a String
2.10. Making Do Without Regular Expressions
2.11. Exploiting Regular Expressions
2.12. Using the EXSLT String Extensions
3. Numbers and Math
Introduction
3.1. Formatting Numbers
3.2. Rounding Numbers to a Specified Precision
3.3. Converting from Roman Numerals to Numbers
3.4. Converting from One Base to Another
3.5. Implementing Common Math Functions
3.6. Computing Sums and Products
3.7. Finding Minimums and Maximums
3.8. Computing Statistical Functions
3.9. Computing Combinatorial Functions
3.10. Testing Bits
4. Dates and Times
Introduction
4.1. Calculating the Day of the Week
4.2. Determining the Last Day of the Month
4.3. Getting Names for Days and Months
4.4. Calculating Julian and Absolute Day Numbers from a Specified Date
4.5. Calculating the Week Number for aSpecified Date
4.6. Working with the Julian Calendar
4.7. Working with the ISO Calendar
4.8. Working with the Islamic Calendar
4.9. Working with the Hebrew Calendar
4.10. Formatting Dates and Times
4.11. Determining Secular and Religious Holidays
5. Selecting and Traversing
Introduction
5.1. Ignoring Duplicate Elements
5.2. Selecting All but a Specific Element
5.3. Selecting Nodes by Context
5.4. Performing a Preorder Traversal
5.5. Performing a Postorder Traversal
5.6. Performing an In-Order Traversal
5.7. Performing a Level-Order Traversal
5.8. Processing Nodes by Position
6. Exploiting XSLT 2.0
Introduction
6.1. Convert Simple Named Templates to XSLT Functions
6.2. Prefer for-each-group over Muenchian Method of Grouping
6.3. Modularizing and Modes
6.4. Using Types for Safety and Precision
6.5. Avoiding 1.0 to 2.0 Porting Pitfalls
6.6. Emulating Object-Oriented Reuse and Design Patterns
6.7. Processing Unstructured Text with Regular Expressions
6.8. Solving Difficult Serialization Problems with Character Maps
6.9. Outputting Multiple Documents
6.10. Handling String Literals Containing Quote Characters
6.11. Understanding the New Capabilities of Old XSLT 1.0 Features
7. XML to Text
Introduction
7.1. Dealing with Whitespace
7.2. Exporting XML to Delimited Data
7.3. Creating a Columnar Report
7.4. Displaying a Hierarchy
7.5. Numbering Textual Output
7.6. Wrapping Text to a Specified Width and Alignment
8. XML to XML
Introduction
8.1. Converting Attributes to Elements
8.2. Converting Elements to Attributes
8.3. Renaming Elements or Attributes
8.4. Merging Documents with Identical Schema
8.5. Merging Documents with Unlike Schema
8.6. Splitting Documents
8.7. Flattening an XML Hierarchy
8.8. Deepening an XML Hierarchy
8.9. Reorganizing an XML Hierarchy
9. Querying XML
Introduction
9.1. Performing Set Operations on Node Sets
9.2. Performing Set Operations on Node Sets Using Value Semantics
9.3. Determining Set Equality by Value
9.4. Performing Structure-Preserving Queries
9.5. Joins
9.6. Implementing the W3C XML Query-UseCases in XSLT
10. XML to HTML
Introduction
10.1. Using XSLT as a Styling Language
10.2. Creating Hyperlinked Documents
10.3. Creating HTML Tables
10.4. Creating Frames
10.5. Creating Data-Driven Stylesheets
10.6. Creating a Self-Contained HTML Transformation
10.7. Populating a Form
11. XML to SVG
Introduction
11.1. Transforming an Existing Boilerplate SVG
11.2. Creating Reusable SVG Generation Utilities for Graphs and Charts
11.3. Creating a Tree Diagram
11.4. Creating Interactive SVG-Enabled Web Pages
12. Code Generation
Introduction
12.1. Generating Constant Definitions
12.2. Generating Switching Code
12.3. Generating Message-Handling Stub Code
12.4. Generating Data Wrappers
12.5. Generating Pretty Printers
12.6. Generating a Test Data-Entry Web Client
12.7. Generating Test-Entry Web CGI
12.8. Generating Code from UML Models via XMI
12.9. Generating XSLT from XSLT
13. Vertical XSLT Application Recipes
Introduction
13.1. Converting Visio VDX Documents to SVG
13.2. Working with Excel XML Spreadsheets
13.3. Generating XTM Topic Maps from UML Modelsvia XMI
13.4. Generating Web Sites from XTM Topic Maps
13.5. Serving SOAP Documentation from WSDL
14. Extending and Embedding XSLT
Introduction
14.1. Saxon Extension Functions
14.2. Saxon Extension Elements
14.3. Xalan-Java 2 Extension Functions
14.4. Java Extension Function Using the Class Format Namespace
14.5. Java Extension Function Using the Package Format Namespace
14.6. Java Extension Function Using the Java Format Namespace
14.7. Scripting Extension Function Using Inline Script Code
14.8. Xalan-Java 2 Extension Elements
14.9. Java Extension Element
14.10. Scripting Extension Elements
14.11. MSXML Extension Functions
14.12. Using Saxon’s and Xalan’s Native Extensions
14.13. Extending XSLT with JavaScript
14.14. Adding Extension Functions Using Java
14.15. Adding Extension Elements Using Java
14.16. Using XSLT from Perl
14.17. Using XSLT from Java
15. Testing and Debugging
Introduction
15.1. Using xsl:message Effectively
15.2. Tracing the Flow of Your Stylesheet Through Its Input Document
15.3. Automating the Insertion of Debug Output
15.4. Including Embedded Unit Test Data in Utility Stylesheets
15.5. Structuring Unit Tests
15.6. Testing Boundary and Error Conditions
16. Generic and Functional Programming
Introduction
16.1. Creating Polymorphic XSLT
16.2. Creating Generic Element Aggregation Functions
16.3. Creating Generic Bounded Aggregation Functions
16.4. Creating Generic Mapping Functions
16.5. Creating Generic Node-Set Generators
Index
About the Author
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
XSLT Cookbook, 2nd Edition
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset