Résumé
- 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.
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
L'auteur - Jeni Tennison
Jeni Tennison is an independent consultant specializing in XSLT and XML Schema development. She trained as a knowledge engineer, gaining a Ph.D. in collaborative ontology development, and has since become a consultant working in a variety of areas including publishing, water monitoring, and financial services. She is the author of XPath on the Edge and Beginning XSLT and is one of the founders of the EXSLT initiative to standardize extensions to XSLT and XPath. She is an invited expert on the W3C XSL Working Group, and she was voted ActiveState Activator's Choice XSLT Programmer of the Year in 2002. She spends much of her spare time answering people's queries on the XSL-List and xmlschema-dev mailing lists.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | IDG |
Auteur(s) | Jeni Tennison |
Parution | 18/10/2001 |
Nb. de pages | 606 |
Format | 18,7 x 23,4 |
Couverture | Broché |
Poids | 1063g |
Intérieur | Noir et Blanc |
EAN13 | 9780764547768 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse