XSLT Cookbook
By

Rating

Product Description
Product Details

Table of Contents

Preface 1. XPath 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 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 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 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 Numbersfrom 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 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 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 bject-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 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 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 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-Use Cases in XSLT 10. XML to HTML 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 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 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 13.1 Converting Visio VDX Documents to SVG 13.2 Working with Excel XML Spreadsheets 13.3 Generating XTM Topic Maps from UML Models via XMI 13.4 Generating Web Sites from XTM Topic Maps 13.5 Serving SOAP Documentation from WSDL 14. Extending and Embedding XSLT 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 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 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

Sal Mangano has been developing software for over 12 years and has worked on many mission critical applications, especially in the area of financial trading applications. Unlike many XML/XSLT developers, he did not approach the technology from the standpoint of the Internet and web development but rather from the broader need for a general-purpose data transformation framework. This experience has given him a unique perspective that has influenced many of the recipes in this book. Sal has a master's degree in computer science from Polytechnic University.

Ask a Question About this Product More...
 
Look for similar items by category
Home » Books » Computers » Programming » XML
Home » Books » Computers » Programming » General
Home » Books » Computers » Web » Web Programming
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top