Skip to main content

XSLT 2.0 Programmer's Reference, 3rd Edition

XSLT 2.0 Programmer's Reference, 3rd Edition

Michael Kay

ISBN: 978-0-764-56909-8

Aug 2004

960 pages

Select type: Paperback

Product not available for purchase

Description

What is this book about?

XSLT 2.0 Programmer's Reference, 3rd Edition, is the authoritative reference guide to the language. Without using the formal and inaccessible language of the W3C specifications, it tells you exactly what every construct in the language does, and how it is intended to be used. This book is a reference rather than a tutorial; it is designed for the professional programmer who is using the language every day. It is the book that people quote when they claim that a particular product is giving the wrong answer, and the book that implementers of the language turn to when they want clarification of the specifications.

At the same time, the book is readable. Reviews of the previous editions of the XSLT Programmer’s Reference, which this book grew from, show that readers appreciate the background material on the design thinking behind the language, the essay on functional programming, the occasional dry wit, the gentle criticism of the language specification when appropriate, and the fact that the examples stray into a diverse range of interesting application areas.

Acknowledgments.

Introduction.

List of Examples.

Chapter 1: XSLT in Context.

Chapter 2: The XSLT Processing Model.

Chapter 3: Stylesheet Structure.

Chapter 4: Stylesheets and Schemas.

Chapter 5: XSLT Elements.

Chapter 6: Patterns.

Chapter 7: XSLT Functions.

Chapter 8: Extensibility.

Chapter 9: Stylesheet Design Patterns.

Chapter 10: Case Study: XMLSpec.

Chapter 11: Case Study: A Family Tree.

Chapter 12: Case Study: Knight’s Tour.

Appendix A: XPath 2.0 Syntax Summary.

Appendix B: XPath Function Library.

Appendix C: Microsoft XSLT Processors.

Appendix D: JAXP: The Java API for Transformation.

Appendix E: Saxon.

Appendix F: Backwards Compatibility.

Glossary.

Index.

Code Downloads
Code downloads for this title are available here.
Download
Download source code for this book.
Code downloads for this title are available here.
Download
Code Downloads
Code downloads for this title are available here.
Download source code for this book.
Code downloads for this title are available here.
ChapterPageDetailsDatePrint Run
12Typo
Windows XT should be Windows XP.
11/12/04

230Correction to code listing in middle of page 230
replace: <xsl:output-character char=
with: <xsl:output-character character=
10/19/04

230-231Correction to code listing in bottom of page 230-231
replace: <xsl:output-character char=
with: <xsl:output-character character=
This replacement needs to be made in all 9 code lines here with the error
10/19/04

233Correction to code listing on page 233, first code block, 2nd line
replace: <xsl:output-character char=
with: <xsl:output-character character=
10/19/04

234Correction to code block on page 234
replace: <xsl:output-character char=
with: <xsl:output-character character=
This replacement needs to be made in both code lines in the code block that use this
10/19/04

244Error in Code
second code block

<xsl:template match= svg:*
xmlns:svg= http://www.w3.org/2000/svg >
<xsl:copy copy-namespaces= no >
<xsl:copy-of select= @* >
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>

The fourth line should read:

<xsl:copy-of select= @* />
01/15/2008

284Error in Page Reference
under the group-adjacent paragraph:
The value that results from evaluating the group-adjacent expression is atomized (see page 000).

should be:
The value that results from evaluating the group-adjacent expression is atomized (see page 73).
05/15/07

541-542Correction to code listing on bottom of 541-top 542
<xsl:transform
 xmlns:xsl= http://www.w3.org/1999/XSL/Transform
 version= 2.0
 xmlns:book= books.uri
 exclude-result-prefixes= book
>

<xsl:template match= / >
  <html><body>
    <xsl:for-each select= //book >
       <h1><xsl:value-of select= title /></h1>
       <p>Category: <xsl:value-of
                select= $categories/category
                          [@code=current()/@category]/@desc />
       </p>
    </xsl:for-each>
  </body></html>
</xsl:template>

<xsl:variable name= categories >
 <category code= S desc= Science />
 <category code= CS desc= Computing />
 <category code= FC desc= Children's Fiction />
</xsl:variable>

</xsl:transform>
9/20/04