Home   FAQs   New Arrivals   Specials   Pricing & Shipping   Location   Corporate Services  
 Search:   
 View Cart   Check Out   
 
Browse by Subject
I.T
 .NET 3.5
 Windows 2000/XP
 Cisco
 Java
 Office XP
 VB
 ASP
 UML
 Web Design
 E-Commerce
 Project Management
 Macintosh
 Linux
 Windows Server 2008
 Sharepoint 2007
Certification
 MCITP
 MCTS
Economics and Business
 Accounting
 Business Information Systems
 Economics
 Finance
 Management
 Marketing
 Human Resources
 OneKey Textbooks

XSLT and XPath On The Edge, Unlimited Edition

by: Jeni Tennison

Notify me when in stock

On-line Price: $50.95 (includes GST)

Paperback package 550

17%Off Retail Price

You save: $11.00

Usually Ships within 1 week.

Prices can change...but we will email you and ask for your direction where there is an increase.

Retail Price: $61.95

Publisher: IDG,Nov-2001

Category: XSLT Level: B/I/A

ISBN: 0764547763
ISBN13: 9780764547768

Add to Shopping Cart

Extensible Stylesheet Language Transformations, along with the XML Path Language, give you the power to transform XML documents into HTML documents, or to other XML documents that you can use in Web-based applications. But how do you implement XSLT in the real world? This book provides the answers. Covering everything from reformatting numbers to creating dynamic XSLT applications, XSLT expert Jeni Tennison delivers a wealth of ready-to-use utility templates and practical XSLT solutions -- everything you need to jump-start XSLT development. With XSLT and XPath on the Edge, Unlimited Edition, you'll:


  Take advantage of utility templates for searching and replacing strings, calculating minimums, and more


Build your own recursive templates or use simple XPaths


Discover ready-made solutions for filtering, numbering, grouping, and other transformations


Understand the building blocks of XSLT applications


Separate style from format and break up your stylesheet into functional modules that are easier to maintain and reuse


Build dynamic applications that use client-side processing with MSXML or server-side processing with Cocoon


Fine-tune stylesheets to work more efficiently and deliver exactly the output you're looking for


Harness the power of the XSLT extensions available with MSXML, Saxon, and Xalan


With this Unlimited Edition, owners of the book can download all-new content from the Web and access a searchable version of the book online.


      

Table of Contents

Preface


    Acknowledgments


        Introduction

PartIBuilding Utility Templates


        Chapter 1 Manipulating Numbers


Formatting Numbers as Strings


Formatting Decimal Numbers


Formatting Integers


Turning Numbers into Ordinals


Spelling Out Numbers


Changing the Base of Numbers


Converting from Hexadecimal to Decimal


Converting from Decimal to Hexadecimal


Summary


    Chapter 2 Reformatting Strings and Text


Adding Padding


Padding Numerical Strings


Padding Strings with Characters


Padding Strings with Elements


Splitting Strings into Elements


Dividing a Poem into Lines


Tokenizing a String


Wrapping Lines


Gradual Tokenization


Searching and Replacing


Searching and Replacing Characters


Searching and Replacing Strings


Summary


    Chapter 3 Turning XML into Text


Turning XML Lists into String Lists


Creating a Tree


Serializing XML


Creating XML Strings


Disabling Output Escaping


Creating Conditional Strings


Decoding Enumerated Values


Conditions with Computed Values


Summary


    Chapter 4 Analyzing Data in XML


Getting Totals


Summing by Adding Subtotals


Summing by Building an Intermediate Node Set


Summing with a Recursive Template


Counting Items


Counting Character-Separated Items


Counting Word-Separated Items


Calculating Averages


Calculating the Median


Calculating the Mode


Finding Minima and Maxima


Finding Minima and Maxima with an Expression


Finding Minima and Maxima by Sorting and Picking


Finding Minima and Maxima by Recursion


Summary


PartIIPerforming Your Transformation


        Chapter 5 Filtering XML


Filtering Principles


Basic Templates


Filtering Sections


Filtering Namespaces


Filtering Languages


Multiple Filters


Multiple Transformations in a Single Stylesheet


Multiple Transformations Through the Command Line


Multiple Transformations with Cocoon


Multiple Transformations with MSXML


Summary


    Chapter 6 Translating Between Similar Structures


Translating Element and Attribute Names


Changing the Case of Names


Defining Translations with XML


Changing Names Conditionally


Changing Element Substructures


Adding Attributes


Adding Styling Information


Style in HTML


Style with XSL-FO


Debugging Translations


Summary


    Chapter 7 Sorting


Sorting on Calculated Values


Calculating Sort Values with Expressions


Calculating Sort Values with Intermediate XML


Sorting by Date


Sorting Dates with Fixed Formats


Sorting Dates with Flexible Formats


Sorting with Named or Abbreviated Months


Sorting Dynamically


Selecting the value to sort by


Picking the data type for the sort


Doing Multiple Sorts


Sorting with Separate Parameters


Sorting with a String


Sorting with XML


Summary


    Chapter 8 Numbering


Numbering Simple Lists


Numbering Simple Lists with xsl:number


Changing the Format of the Number


Starting the Count at a Different Number


Making Numbering more Efficient


Using an Ancestor's Number


Numbering Figures Across a Document


Numbering Subsections


Numbering Nested Subsections


Numbering Un-nested Subsections


Numbering Sorted and Grouped Items


Summary


    Chapter 9 Grouping


General Grouping Methods


Flat Grouping Method


Recursive Grouping Method


Hierarchical Grouping Method


Grouping by Position


Paging Dynamically


Creating Batches of Pages


Grouping by Value


Adding Headers to Sorted Records


Adding Wrappers to Sorted Records


Grouping Unsorted Records by Value


Multi-level Grouping


Grouping in Hierarchies


Nesting Class Structures


Adding Structure to Documents


Summary


    Chapter 10 Creating Summaries


Processing the Same XML Twice


Using Modes


Using Parameters


Generating Different Output Dynamically


Creating Links


Creating Local Links


Linking in Frames


Creating Indexes


Identifying Index Items


Working Through the Alphabet


Summary


PartIIIBuilding Your XSLT Application


        Chapter 11 Separating Data from Presentation


Reusing XML Snippets


Using External References


Copying Documents


Generating External References


Using Page Templates


Creating Simplified Stylesheets


Using External References in a Template Page


Using Insertion Instructions in a Template Page


Supporting Customization and Internationalization


Encoding Customization


Customizing Document Style


Customizing Document Structure


Localizing Text


Summary


    Chapter 12 Creating Functional Modules


Distinguishing Between Threads


Isolating Reusable Code


Named Templates versus Moded Templates


Limitations of Templates


Designing Templates for Reuse


Reusing Attribute Definitions


Using Attribute Sets in Context


Determining Attribute Names


Adding Attributes Conditionally


Overriding Attributes from Attribute Sets


Using Attribute Sets Programmatically


Summary


    Chapter 13 Using Multiple Stylesheets


Splitting Up a Stylesheet into Multiple Files


Polishing Included Stylesheets


Positioning xsl:includes in the Main Stylesheet


Building Inclusion Hierarchies


Using XML Entities


Using XInclude


Using Utility Stylesheets


Overriding Constructs from Utility Stylesheets


Applying Imported Templates


Avoiding Dangerous Overrides


Designing Utility Stylesheets


Making Self-Sufficient Stylesheets


Adding a Namespace for the Utility


Testing User-Supplied Values


Improving Portability Across Processors


Combining Stylesheets


Identifying Common Code


Eliminating Conflicts


Creating High-Level Templates


Summary


    Chapter 14 Client-Side Processing with MSXML


Scripting XSLT Processing


Creating DOMs


Manipulating DOMs


Creating XSLT Processors


Passing Parameters


Transforming XML


Using the Output


Dynamic Applications


Changing Parameters


Choosing the Data to View


Choosing the Stylesheet to Use


Creating Frames


Creating Graphics with SVG


Summary


    Chapter 15 Server-Side Processing with Cocoon


Processing XML with Cocoon


Formatting Output


Generating PDF


Passing Parameters


Dynamic Applications


Changing Parameters


Choosing the Data to View


Indicating Which Stylesheet to Use


Creating Frames


Creating Graphics with SVG


Summary


PartIVFinalizing Your Stylesheet


        Chapter 16 Controlling Output


Adding DTD Information


Referring to External DTDs


Building Internal DTDs


Managing Whitespace


Managing Source Whitespace


Managing Stylesheet Whitespace


Using Entities and CDATA Sections


Using Entities in the Stylesheet


Outputting Character and Entity References


Outputting CDATA Sections


Managing Namespace Declarations


Namespace Nodes


Namespaces in the Stylesheet


Summary


    Chapter 17 Enhancing XSLT


Rationalizing XPath


Using Short Axes


Reducing the Number of Steps


Traversing Each Axis Only Once


Testing Only What Needs to Be Tested


Using Numeric Predicates


Using Implicit and Explicit Conversions


Using Keys


Testing Node Names


Testing Node Namespaces


Rationalizing XSLT


Using Push or Pull Processing


Setting Variables to Primitive Values


Using Literal Result Elements


Removing xsl:text Elements


Avoiding xsl:number


Summary


PartVUsing Extensions


        Chapter 18 Using Extension Functions


Using Extension Functions


Testing Function Availability


Testing the Availability of Multiple Extensions


Recovering from Unavailable Functions


Converting Result Tree Fragments to Node Sets


Extension Functions


EXSLT Extension Functions


MSXML Extension Functions


Saxon Extension Functions


Xalan Extension Functions


Summary


    Chapter 19 Using Extension Elements


Using Extensions to XSLT


Checking Extension Availability


Testing the Availability of Extension Elements


Testing the Availability of Other Extensions


Recovering from Unavailable Extension Elements


Creating Multiple Output Files


Creating Frames


Processing Multiple Files to Create Multiple Outputs


Extensions in Different Processors


Extension Elements in Saxon


Grouping in Saxon


Using a Procedural Style


Creating Internal DTDs


Summary


    Chapter 20 Extending XPath Yourself


Defining Functions in Other Programming Languages


Defining Extension Functions in XSLT 1.1


Defining Extension Functions in MSXML


Defining Extension Functions in Xalan


Reusing Existing Java Methods


Defining Functions with XSLT


Summary


    Appendix A:XPath Quick Reference


Appendix B: XSLT Quick Reference


        Index


  Book Registration Information


      Jeni Tennison, a leading XSLT specialist and a regular and verbose contributor to XSL-List (http://www.mulberrytech.com/xsl/xsl-list), is one of the maintainers of the EXSLT initiative (http://www.exslt.org) and the implementer of XSLTDoc, an XSLT-based application for browsing XSLT applications (http://www.

jenitennison.com/xslt/utilities).


  Jeni has a knowledge-engineering background and is currently working as a freelance XML and XSLT consultant. She teaches courses on various XML-related topics, including XSLT, and has worked on several real-world XML and XSLT

projects.


  Jeni lives with her partner, two cats, and a vast Lego collection in Nottingham, England.