<pre>Author/s : Dmitry Kirsanov Publisher : Pearson Education Category :XML Review by : Dirk Schreckmann Rating : 9 horseshoes</pre> "XSLT 2.0 Web Development" by Dmitry Kirsanov, teaches a system of transforming semantically structured content into browser-ready HTML, including the proper separation of content from presentation, structuring the content into "cleanly separated semantic layers", developing a XML vocabulary for each layer, validating the XML and content structure, using XSLT to transform the XML content to HTML, and integrating the transformation system with web development frameworks and development tools.
As described in the introduction, the author suggests readers should have a basic understanding of XML syntax and terms, as well as "know some XSLT and especially XPath". Before reading this book, this reviwer was comfortable reading, editing and creating XML documents, but I couldn't (and still can't) write an XML DTD. Also, the only idea I had about XSLT was that it's used to transform XML documents into HTML. That's it. With those basic introductory understandings, I had no problems following the well-structured and well-explained lessons throughout the book, as well as applying those lessons while developing a real-life web site.
This 406 page book consists of seven chapters containing plenty of well-organized and well-used text and diagrams, example code showing "all aspects of an XML-to-HTML transformation", and plenty of screenshots. The contents also include a discussion of the basic premises of XML, explanations and examples of XML source definitions including schema and regulations, a Schematron schema for document validation, XSLT extensions including new additions to XSLT 2.0 and XPath 2.0, coverage of tools available to assist developers, and a chapter on integrating an XML/XSLT system into a web server setup, the bulk of which is devoted to Apache Cocoon.
This book and the topics it teaches are not for the feeble minded. Reading it while falling asleep in bed is not recommended - you won't really get it. I would recommend this book to anyone concerned with organizing website content into meaningful semantic layers, well-separated from presentation and business logic, while creating a system that is easier to understand and maintain than many website projects I've run across.
<pre>Review by : Margarita Isayeva Rating : 10 horseshoes</pre>
If to try to classify this book, I would put it in "how to's" category, rather than "tutorials". The book summarizes author's significant experience with building web sites that are sanely organized and easy to maintain. The approach he advocates is somewhat minimalist: XML to markup the content, XSLT to transform it into HTML and to perform other auxiliary tasks -- "The Pragmatic Programmer" followers will appreciate this. It should be noted that the content is mostly static or treated as such; how to fetch data out of a database and to build an XML DOM/SAX representation is left for other numerous books to ponder. While XSLT is the main subject, the scope of the book is broader. It includes developing an XML vocabulary for the site, choosing a schema language and writing a schema (here Schematron gets special attention), designing stylesheets for transformation, including tasks like checking files existence and generating images via extension functions written in Java. Finally, there is a section about batch processing with XSLT for automatic generation/regeneration of the whole site. Every task is illustrated with examples, generic enough so that you can modify them for your own project.
Orthogonal to what has been explained is the question of how it has been explained. The author's writing style is dense, even dry, the text is packed with information. It took me probably three times longer to read this book than it does usually, as there was no superfluous verbiage that could be quickly glanced over. The book doesn't make dull reading, though. Not only is it highly informative, it also gives aesthetical pleasure of a well-crafted work. The concepts are thoughtfully illustrated and made very clear; terminology is used precisely and consistently. Developers will appreciate an honest, "no buzzwords, no marketing hype" approach, and accuracy in every small detail.