Here's another go at a review of the XSLT book. If anyone wants it and can pick it up from codix.net (Hammersmith) let me know...
XSLT (Doug Tidwell, published by O'Reilly) is a perfectly good introduction to XSLT. Unfortunately, it's both a little late - there are other equally good introductions which beat it out - and a little early - it came out too soon to cover the exslt extensions (now supported by most XSLT processors), the forthcoming XSLT 2.0 standard, etc., which might have given it an edge in the market. It's also very much an introductory book, and so limited in what it covers even from XSLT 1.0 (there's nothing about working with multiple XSLT files, for example, and no mention of the problems with the odd 'result-tree fragment' variable type which causes major problems in XSLT1.0). The book is in two halves - the first 200 pages are an introduction to XSLT as a language, while the second 200 pages are reference material. Concentrating on XSLT as a language rather than as part of a system means there is no discussion of where XSLT might fit in managing dynamic web sites; in spite of the inevitable Java emphasis, even Cocoon doesn't rate a mention. The first half progresses pretty much like most introductions to a programming language: a 'hello world' example, description of language elements (including XPath, which is usually the big headache to working with XSLT), conditionals, loops, sorting and grouping, and recursion. It seems strange that introductions to XSLT always bring in recursion towards the end, as a 'difficult' topic, when the language is a functional one. Finally, there are some examples of Xalan and Saxon language extensions, and a short 'real-world' case study (creation of a web-based tutorial system from text in an xml format). Even by this point in the book the author still thinks it's necessary to say things like 'storing frequently used values in a variable instead of calculating them each time simplifies the code', which makes you wonder if he had trouble deciding what his target audience was (largeish chunks of Java code are used without too much explanation, so it isn't just non-programmers). The second half is the language reference. The nice feature of this is that it isn't just the standard reprint of the W3C documents, but each element or function has a worked example. Conclusions: OK if you need an introduction to XSLT and are going to buy something else to follow (probably Mike Kay's book of the same name, the Camel of XSLT books). But for any real work with XSLT you will need something in addition to this book.