| XSLT Programmer’s Reference
By Michael Kay
Published April 2000, Wrox Press Inc.
777 pages, $34.99 U.S., $52.95 Canada
XSLT Version 1.0 is a World Wide Web Consortium (W3C) Recommendation, and at the time of this writing, XSLT Programmer’s Reference, by Michael Kay, is the only known book dedicated exclusively to XSL Transformations (XSLT). The XSLT language allows developers to convert XML documents into a wide array of data formats. In the basic case, an XSLT engine requires two inputs: an XML document and an XSL style sheet containing the XSLT commands. The engine manipulates the XML data according to the style sheet instructions and outputs a document such as an HTML page. To complete its job, XSLT relies heavily on XPath, an XML referencing and data manipulation language. Author Michael Kay’s XSLT Programmer’s Reference covers both XSLT and XPath.
Kay is a Fellow at the IT services company ICL, which is the European-centered arm of Fujitsu’s global IT services strategy. With a background in database technology, he coded the XSLT engine product SAXON. His book is divided into 10 chapters and two appendixes. Chapters one through three cover the mechanics of XSLT. Chapters four through seven are a collection of reference entities for the XSLT and XPath languages. Chapters eight and nine provide common design patterns for constructing XLST style sheets and three worked examples. Chapter 10 focuses on the most popular processors: Oracle XSL, Saxon, Xalan, and xt. The book explores the specific functionality of these products, but, unfortunately, offers no opinion on selecting a processor for domain-specific solutions.
Appendix A covers Microsoft Corp.’s MSXML3 Processor released in March 2000. Bear in mind that Microsoft updated this technology in July 2000. Also remember that the book is not a reference for Microsoft’s original MSXSL, which shipped with IE5 and is in many of today’s browsers. The original implementation predated the Nov. 16, 1999, W3C Recommendation for XSLT Version 1.0. Kay indicates that until this browser situation is remedied, server-side transformation of XML to HTML is the best solution for developers, and the book covers such transformations. Appendix B is a glossary.
Many experienced programmers will find XSLT cumbersome. The language doesn’t support assignment statements and is far from object-oriented. For many coders, the initial comfort level will not be high. In light of this, one would hope for a tutorial approach to the subject. Kay’s book does not provide it.
Kay has written a reference-oriented book, geared to experienced programmers. He writes more like a college professor interested in programming theory than a corporate trainer interested in bringing enterprise coders up to speed in the shortest time possible. To clarify his concepts, Kay “invents” terms not found in the XSLT standard. While these inventions may enlighten some readers, others may find them confusing. He does indicate, however, when he uses a term of his own origin.
Kay writes: “The designers of XSLT took care to ensure that, in spite of the power of XSLT as a full transformation language, it would still be possible to use it in [a] simple way, bringing it within the reach of nonprogrammers with HTML authoring skills.” Kay’s assertion may be quite accurate, but most HTML authors will find XSLT Programmer’s Reference beyond their grasp. Many serious programmers who have come to expect a tutorial-driven approach to new languages may be equally frustrated trying to learn XSLT from a reference work. (Although it could be done using Kay’s book, it would be somewhat like trying to learn English from reading the Oxford American Dictionary. Eventually you’d get it, but there’s clearly a better way.)
So what is the uninitiated, XSLT-curious developer to do? For starters, check out the tutorial section at the end of this review. If you can wait until December, Addison Wesley Longman Inc. will be publishing an XSLT book by Khun Yee Fung. A spokesperson for Addison Wesley claims that Fung’s book will be more tutorial-driven than Kay’s and that the company is committed to including the latest XSLT information, should anything change with the W3C standards. Although a new edition of XSLT Programmer’s Reference currently is not planned, the publisher is following the progress of XSLT and if an update or additional title is required one will be printed, according to a spokeswoman for Wrox Press Inc.
Once initiated, serious programmers should obtain a copy of XSLT Programmer’s Reference. My other recommendation is to read all of chapters eight (design patterns) and nine (worked examples). They will help propel you into constructing real enterprise solutions using XSLT. Then keep the book handy for looking up everything from elements to functions. //
David Fisco is an Internet media consultant and developer. He can be reached at email@example.com.
Sams Teach Yourself XML in 21 Days by Simon North (ISBN 1575213966)
XML in Record Time by Natanya Pitts (ISBN 078213406).
XML Black Book by Natanya Pitts (ISBN 157610284X).
XML: A Primer by Simon St. Laurent (ISBN 155828592X).
A basic introduction to XSLT
MSXML SDK beta release in July 2000
Practical Transformation Using XSLT and XPATH