Almost unusable
This book, as the other reviewers have said, is an awful beginning or reference text for XSLT.
I have to whip up an XSL transform only a few times a year, so I never remember exactly how the syntax works. This book is never any help. The introductory sections are not informative, and the reference sections are not well-organized and have no helpful examples.
He likes to spend a lot of time explaining in various places that "technically, this blah blah blah is a valid construct, but no one will ever use it." Who cares? The book is supposed to help others get their jobs done.
Still, I have been able to finish my assignments using this book, so I can't give it 1 star. 2 stars is generous, though, for how angry this book consistently makes me.
Wealth of information obscured by the editing, writing, and organization
This review is for "XSLT: Programmer's Reference 2nd Edition." The book covers XSLT 1.0 and XPath 1.0. Although these are "old" technologies, they are still heavily used in software in many industries. While there are newer books covering XSLT 2.0 and XPath 2.0, those technologies have not achieved widespread support, so you will want to rely on this book for the next few years.
Michael Kay is one of the leading authorities on XSLT, XML, and XPath, and it clearly shows in the content of this book. There is a lot of detail to his explanations, and the topics he covers are comprehensive, including little-discussed items that other books fail to cover. There is a wealth of information in this book. Mind you, this is a reference book, and it's not conducive to being read front-to-back. You do need some knowledge of the subject to be able to find what you need.
Unfortunately, the organization, editing, writing is not as good as the technical information itself. The writing style is similar to writing found in a technical paper, so it is somewhat hard reading. At times, the author repeats himself over several paragraphs as if he didn't know he already stated the information previously. The page headings don't have chapter designations, so when the author refers to a chapter (without a page number), you can't find the chapter without going back to the table of contents and finding the page number. The index is also a little disorganized as some keywords aren't always where one might think. Overall, it looked like there was so much information that the editors could not figure out how to organize it effectively.
Despite these serious flaws in organization, editing, and writing, the coverage of the subject matter is the most comprehensive I have found thus far. I've spent money to buy other books, including O'Reilly ones, and I still refer to this book, even though I know this book is not the best read. That is why I have to give it 4 stars rather than 3 stars; the information is too good to pass up.
Indispensable for XSLT Developers
I just finished up about 3 years on a job where one of my primary functions was editing, troubleshooting, teaching, and writing XSLT. I started that job as an experienced programmer with little XSLT experience, and I found this book relatively easy to navigate. I referred to this book constantly. It was indispensable as a reference for XPath and XSLT functions. Whenever I thought "How do I build the code to grab this XML?" or "What's the name of that function?" I would crack open this book and put together the pieces.
Note that there is a new XSLT reference out by Michael Kay-- that may be preferable if you are interested in XSLT 2.0.
Look Elsewhere for XSLT Book
This is the worst technical book I've ever used. There is no organization to it, and there is redundant information, especially in the elements listing section. There are areas that are extremely verbose and make little sense while other areas could use simple, less wordy explanation follwed by an example. This book makes a good paper weight, that's about it.
Very tough and unordered reading
It is a pity but I have to write I am not satisfied with the book. It is kind of a book which does not concetrate on the main purpose of a reading - "to learn something". Of course I understand - it is programmer's reference but even so there is a lot of introductory parts which could be done much better.
There are parts that are very very talkative and give nowadays "vain" information and on the other hand there are parts which should be absolutely more narrative. The book reminds me a kind of "scientific" or "academic" book. From this point of view it is quite good. It is for people who have time to read it in their labs. It is the book for a long time. You absolutely learn a lot of useful topics but you have to find your own way of reading.