Amazon.com Review
Written by a true expert in the field, Michael Kay's
XSLT, Second Edition is a thorough and truly informative guide to using XSLT and XML for real projects. With plenty of in-depth information on current standards and tools, this tutorial and reference is all any working developer needs to implement XSLT-based applications effectively.
The book is remarkable in its wide-ranging perspective on XML and XSLT, plus it contains a complete reference to all elements and keywords used in XSLT and XPath. The author has created his own open-source implementation of XSLT and thus writes knowledgeably about all current XML standards. Early sections explain the larger strategies of using XSLT to transform XML data for browsers or for B2B systems. Clear diagrams--and short sample documents--are used to explain where XSLT fits into the big picture of today's XML-based systems. The book has plenty to say about new and emerging standards, so you can plan effectively for what's on the horizon.
The core of the book is its 400-page alphabetical reference on every XSL element, expression, and function (including XPath for querying and specifying XML data). Each entry is amply illustrated with example code and hints for using each feature correctly. You also get plenty of rules for using common XSL features effectively, along with sample usage.
Later sections of the book look at "design patterns" for types of XSLT style sheets, including simple fill-in-the-blanks and more advanced rule-based and computation style sheets. There are also digestible examples of XSLT used to format a long text document (for the XML standard itself), genealogy data (for a family tree), and a chess problem. Several appendices provide information on several popular XML and XSLT tools, including Microsoft MSXML3, the author's own Saxon XSLT processor, and Apache's Xalan tool.
With its mix of practical advice and solid reference matter, this book is a perfect choice for any developer working with XML and XSLT who needs a reliable guide to these important and groundbreaking technologies. --Richard Dragan
Topics covered:
- Introduction and reference to XSLT standards
- Basics of transforming XML with XSLT, XPath, XPointer, and related XML standards
- The XML tree model
- Transforming XML (including push and pull processing)
- XSLT variables, expressions, and datatypes
- The structure of style sheets (including top-level elements and template bodies)
- Comprehensive reference to all XSLT elements, expressions, patterns, and functions
- Creating extension functions for XSLT in Java and JavaScript
- Style sheet design patterns (fill-in-the-blanks, navigational, rule-based, and computational style sheets)
- Sample XSLT code for formatting a large document (with the XML specification)
- A family tree (with genealogical data) and chess data (the Knight's tour problem)
- Appendices and references for XSLT/XML tools (including Microsoft MSXML3, Oracle Java XSLT processor, the Saxon processor, and Apache Xalan)
Product Description
This compact, relevant, updated version reflects recent changes in the XSLT specification and developments in XSLT parsers. The material on tools and implementations has been revised; so too have all the examples. It also includes a new chapter on writing extension functions.
XML has firmly established itself as the universal standard for managing data for the web and is now being implemented on a wide scale.
XSL (eXtensible Stylesheet Language), a vital companion to XML, is used for two main purposes: to format or style XML data so that it can be displayed in a browser and to transform XML data (XSLT). When you transform an XML document, you manipulate the data into a new structure, for example, re-ordering the data. This enables the same data store to be used in an unlimited number of ways. XSLT is a flexible, customizable, and cross-platform language.
XSLT is a notoriously difficult language to understand, but this book, while being a complete reference to the recommendation, will also give code examples showing how it all ties together and can be effectively employed in a real-world development scenario.