Learning XSLT - Helion
ISBN: 978-14-493-6565-3
stron: 370, Format: ebook
Data wydania: 2003-11-14
Księgarnia: Helion
Cena książki: 92,65 zł (poprzednio: 107,73 zł)
Oszczędzasz: 14% (-15,08 zł)
XSLT is a powerful language for transforming XML documents into something else. That something else can be an HTML document, another XML document, a Portable Document Format (PDF) file, a Scalable Vector Graphics (SVG) file, a Virtual Reality Modeling Language (VRML) file, Java code, or a number of other things. You write an XSLT stylesheet to define the rules for transforming an XML document, and the XSLT processor does the work.As useful as XSLT is, its peculiar characteristics make it a difficult language in which to get started. In fact, newcomers are often a little dazed on first contact. Learning XSLT offers a hands-on introduction to help them get up to speed with XSLT quickly. The book will help web developers and designers understand this powerful but often mystifying template-driven and functional-styled language, getting them over the many differences between XSLT and the more conventional programming languages.Learning XSLT moves smoothly from the simple to complex, illustrating all aspects of XSLT 1.0 through step-by-step examples that you'll practice as you work through the book. Thorough in its coverage of the language, the book makes few assumptions about what you may already know. You'll learn about XSLT's template-based syntax, how XSLT templates work with each other, and gain an understanding of XSLT variables. Learning XSLT also explains how the XML Path Language (XPath) is used by XSLT and provides a glimpse of what the future holds for XSLT 2.0 and XPath 2.0.The ability to transform one XML vocabulary to another is fundamental to exploiting the power of XML. Learning XSLT is a carefully paced, example-rich introduction to XSLT that will have you understanding and using XSLT on your own in no time.
Osoby które kupowały "Learning XSLT", wybierały także:
- Język XML. Kurs video. Poziom pierwszy. Tworzenie struktury dokumentów XML 69,00 zł, (20,70 zł -70%)
- Flash i Wallaby. Projektowanie animacji zgodnych z HTML5 24,69 zł, (7,90 zł -68%)
- API nowoczesnej strony WWW. Usługi sieciowe w PHP 32,90 zł, (16,45 zł -50%)
- XML. Szybki start. Wydanie II 49,00 zł, (24,50 zł -50%)
- XML. Tworzenie stron WWW z wykorzystaniem XML, CSS, XHTML oraz XSLT. Niebieski podręcznik 49,00 zł, (24,50 zł -50%)
Spis treści
Learning XSLT. A Hands-On Introduction to XSLT and XPath eBook -- spis treści
- Learning XSLT
- A Note Regarding Supplemental Files
- Preface
- Who Should Read This Book?
- About the Examples
- XSLT and XPath Reference
- How This Book Is Organized
- Conventions Used in This Book
- Using Examples
- Comments and Questions
- Acknowledgments
- 1. Transforming Documents with XSLT
- 1.1. How XSLT Works
- 1.1.1. A Ridiculous XML Document
- 1.1.2. A First XSLT Stylesheet
- 1.1.2.1. The stylesheet element
- 1.1.2.2. The XSLT namespace
- 1.1.2.3. The output element
- 1.1.2.4. The template element
- 1.1.2.4.1. The root node
- 1.2. Using Client-Side XSLT in a Browser
- 1.2.1. The XML Stylesheet Processing Instruction
- 1.2.1.1. Attributes and pseudoattributes
- 1.2.1. The XML Stylesheet Processing Instruction
- 1.3. Using apply-templates
- 1.3.1. Analysis of message.xml
- 1.3.1.1. The XML declaration
- 1.3.2. Running Xalan
- 1.3.3. More About Xalan C++
- 1.3.4. Using Other XSLT Processors
- 1.3.5. Using xRay2
- 1.3.1. Analysis of message.xml
- 1.4. Summary
- 1.1. How XSLT Works
- 2. Building New Documents with XSLT
- 2.1. Outputting Text
- 2.1.1. Using the text Element
- 2.1.1.1. The disable-output-escaping attribute
- 2.1.1. Using the text Element
- 2.2. Literal Result Elements
- 2.2.1. Adding a Namespace Prefix
- 2.2.2. Literal Result Elements for HTML
- 2.2.2.1. The META tag
- 2.2.3. XHTML Literal Result Elements
- 2.2.3.1. Attribute value templates
- 2.2.3.2. Applying namespaces
- 2.3. Using the Element Called element
- 2.3.1. The namespace attribute
- 2.4. Adding Attributes
- 2.4.1. Reusing a Set of Attributes
- 2.4.1.1. Chaining attribute sets
- 2.4.1. Reusing a Set of Attributes
- 2.5. Outputting Comments
- 2.6. Outputting Processing Instructions
- 2.6.1. Mixed Content
- 2.6.2. Using Multiple Template Rules
- 2.6.2.1. What can go in a template rule?
- 2.6.3. Creating the PI and Putting It to Work
- 2.7. One Final Example
- 2.8. Summary
- 2.1. Outputting Text
- 3. Controlling Output
- 3.1. The Output Method
- 3.1.1. The Default Output Methods
- 3.1.1.1. Default HTML output
- 3.1.1.2. Default XML output
- 3.1.1. The Default Output Methods
- 3.2. Outputting XML
- 3.2.1. The XML Declaration
- 3.2.1.1. Omitting the XML declaration
- 3.2.1.2. The encoding declaration
- 3.2.1.2.1. ISO/IEC 8859
- 3.2.1.2.2. UTF-8 and UTF-16
- 3.2.1.2.3. The Byte Order Mark
- 3.2.2. Unicode and the Command Shell Window
- 3.2.3. Using Character Map and UniPad
- 3.2.3.1. Entities and text declarations
- 3.2.3.2. The standalone declaration
- 3.2.3.3. XML version information
- 3.2.4. Controlling Document Type Declarations
- 3.2.4.1. Validation with transformation
- 3.2.4.2. Adding a document type declaration with a system identifier
- 3.2.4.3. Adding a document type declaration with a public identifier
- 3.2.4.4. Validating XHTML
- 3.2.5. Outputting CDATA Sections
- 3.2.1. The XML Declaration
- 3.3. Outputting HTML
- 3.4. Outputting Text
- 3.5. Using a QName Output Method
- 3.6. Media Types
- 3.7. Summary
- 3.1. The Output Method
- 4. Traversing the Tree
- 4.1. The XPath Data Model
- 4.1.1. XPath Nodes
- 4.1.2. A View of the Tree
- 4.1.3. Whats a Context?
- 4.2. Location Paths
- 4.3. Expressions
- 4.4. What Is a Pattern?
- 4.5. Predicates
- 4.5.1. Matching Multiple Nodes with a Pattern
- 4.6. Axes
- 4.6.1. Unabbreviated Syntax
- 4.6.2. Reaching Out of Context with Unabbreviated Syntax
- 4.7. Name and Node Tests
- 4.8. Doing the Math with Expressions
- 4.9. Summary
- 4.1. The XPath Data Model
- 5. XPath and XSLT Functions
- 5.1. Boolean Functions
- 5.1.1. The lang( ) Function
- 5.2. Node-Set Functions
- 5.2.1. The id( ) Function
- 5.3. Number Functions
- 5.3.1. The sum( ) Function
- 5.3.2. The round( ) Function
- 5.4. String Functions
- 5.4.1. The concat( ) Function
- 5.4.2. The normalize-space( ), translate( ), and substring( ) Functions
- 5.4.3. The generate-id( ) Function
- 5.5. Summary
- 5.1. Boolean Functions
- 6. Copying Nodes
- 6.1. The copy Element
- 6.1.1. Adding Attributes with copy
- 6.1.2. The Identity Transform
- 6.2. The copy-of Element
- 6.3. Copying Nodes from Two Documents
- 6.4. Summary
- 6.1. The copy Element
- 7. Using Variables and Parameters
- 7.1. Defining Variables and Parameters
- 7.1.1. Defining Default Values for Parameters
- 7.1.2. Defining Values with Expressions and Templates
- 7.1.2.1. Using the select attribute to define variables
- 7.1.2.2. Using result tree fragments to define variables
- 7.2. Using Variables
- 7.3. Using Parameters
- 7.3.1. Passing in a Parameter with Xalan
- 7.3.2. Passing in a Parameter with Instant Saxon
- 7.4. Invoking Templates with Parameters
- 7.5. Using Result Tree Fragments
- 7.6. Summary
- 7.1. Defining Variables and Parameters
- 8. Sorting Things Out
- 8.1. Simple Ascending Sort
- 8.2. Reversing the Sort
- 8.3. By the Numbers
- 8.4. Multiple Sorts
- 8.5. The lang and case-order Attributes
- 8.6. Summary
- 9. Numbering Lists
- 9.1. Numbered Lists
- 9.1.1. The number Element
- 9.1.2. The count Attribute
- 9.1.3. More on Formatting
- 9.2. Alphabetical Lists
- 9.2.1. Using Uppercase
- 9.2.2. Longer Alphabetical Lists
- 9.3. Roman Numerals
- 9.3.1. Uppercase Roman Numerals
- 9.4. Inserting an Individual Formatted Value
- 9.5. Numbering Levels
- 9.5.1. Counting on Multiple Levels
- 9.5.2. More Depth
- 9.5.3. Counting on Any Level
- 9.6. The from Attribute
- 9.7. The lang and letter-value Attributes
- 9.8. More Help with Formatted Numbers
- 9.9. Summary
- 9.1. Numbered Lists
- 10. Templates
- 10.1. Template Priority
- 10.1.1. The priority Attribute
- 10.2. Calling a Named Template
- 10.2.1. Using the name and match Attributes Together
- 10.3. Using Templates with Parameters
- 10.4. Modes
- 10.5. Built-in Template Rules
- 10.6. Summary
- 10.1. Template Priority
- 11. Using Keys
- 11.1. A Simple Key
- 11.1.1. The key Element
- 11.1.2. The key( ) Function
- 11.2. More Than One Key
- 11.3. Using a Parameter with Keys
- 11.3.1. Passing in a Parameter to the Stylesheet
- 11.4. Cross-Referencing with Keys
- 11.5. Grouping with Keys
- 11.6. Summary
- 11.1. A Simple Key
- 12. Conditional Processing
- 12.1. The if Element
- 12.2. The choose and when Elements
- 12.2.1. The otherwise Element
- 12.2.2. Processing More Than One Kind of Document
- 12.3. Summary
- 13. Working with Multiple Documents
- 13.1. Including Stylesheets
- 13.2. Importing Stylesheets
- 13.2.1. Import Tree
- 13.2.2. Applying Imports
- 13.3. Using the document( ) Function
- 13.4. Summary
- 14. Alternative Stylesheets
- 14.1. A Literal Result Element Stylesheet
- 14.1.1. Pull and Push Stylesheets
- 14.1.2. A Literal XHTML Stylesheet
- 14.2. An Embedded Stylesheet
- 14.3. Aliasing a Namespace
- 14.4. Excluding Namespaces
- 14.5. Summary
- 14.1. A Literal Result Element Stylesheet
- 15. Extensions
- 15.1. Xalan, Saxon, and EXSLT Extensions
- 15.2. Using a Saxon Extension Attribute
- 15.3. Result Tree Fragment to Node-Set
- 15.4. Using EXSLT
- 15.4.1. EXSLTs exsl:node-set Function
- 15.5. Fallback Behavior
- 15.5.1. Invoking the Fallback Behavior
- 15.6. Checking for Extension Availability
- 15.7. Summary
- 16. XSLT 2.0 and XPath 2.0
- 16.1. New XSLT 2.0 Features
- 16.2. New XPath 2.0 Features
- 16.3. Multiple Result Trees
- 16.4. Using Regular Expressions
- 16.4.1. The matches( ) Function
- 16.4.2. The replace( ) Function
- 16.4.3. The analyze-string Element
- 16.5. Grouping in XSLT 2.0
- 16.6. Extension Functions
- 16.7. Summary
- 17. Writing an XSLT ProcessorInterface
- 17.1. Running an XSLT Processor from Java
- 17.1.1. The Moxie Source Code
- 17.1.2. Looking at the Moxie Code
- 17.1.3. Running Moxie
- 17.1.4. Compiling Moxie
- 17.1.5. Using Ant
- 17.1.6. Other Java Resources
- 17.2. Writing an XSLT Processor with C#
- 17.2.1. The Pax Code
- 17.2.2. Looking at the Pax Code
- 17.2.3. Running Pax
- 17.2.4. Compiling Pax
- 17.3. Summary
- 17.1. Running an XSLT Processor from Java
- 18. Parting Words
- 18.1. The Ox Documentation Tool
- 18.2. Signing Off
- A. XSLT Processors
- A.1. Installing and Running XSLT Processors
- A.1.1. Installing and Running Java
- A.1.1.1. Setting the path variable
- A.1.1.1.1. The path environment variable on Windows
- A.1.1.1.2. The path environment variable on Unix
- A.1.1.2. Running the Java compiler
- A.1.1.1. Setting the path variable
- A.1.2. Using the Classpath
- A.1.2.1. The jar method
- A.1.3. Installing and Running Instant Saxon
- A.1.3.1. Downloading Instant Saxon
- A.1.3.2. Running Instant Saxon
- A.1.4. Installing and Running Saxon (Full Java Version)
- A.1.4.1. Downloading Saxon
- A.1.4.2. Running Saxon
- A.1.4.3. Using a Windows batch file with Saxon
- A.1.4.4. Using a Unix shell script with Saxon
- A.1.5. Installing and Running MSXSL
- A.1.5.1. Downloading MSXSL
- A.1.5.2. Running MSXSL
- A.1.6. Installing and Running Xalan C++
- A.1.6.1. Downloading and installing Xalan C++
- A.1.6.2. Setting the path variable for Xalan on Windows
- A.1.6.3. Setting the path variable for Xalan on a Unix platform
- A.1.6.4. Running Xalan C++
- A.1.1. Installing and Running Java
- A.2. Using jd.xslt
- A.2.1. Downloading and installing jd.xslt
- A.2.1.1. Running jd.xslt
- A.2.2. Using xmlspy
- A.2.3. Using xRay2
- A.2.1. Downloading and installing jd.xslt
- A.1. Installing and Running XSLT Processors
- Glossary
- Index
- About the Author
- Colophon
- Copyright