Amazon.com Customer Reviews
Excellent, Comprehenive and Praxis Oriented - Review written on September 30, 2006
Rating: 5 out of 5
4 customers found this review helpful.
I had to do something with XSLT. I never did really anything with XSLT before, but are very familiar with XML and programming in general.
I got from a friend the prior edition (XSLT 2nd Ed.) to this one (XSLT 2.0) and was impressed about the deep knowledge, especially the practical one and loved the comparison to actual source code in other programming languages in cases where XSLT and its philosophy differs dramatically from classic programming languages.
I found the answers to all my (tricky) issues, except to one where I got enough information to figure it out myself though. I struggled and still do when it comes to html tags usage as value in XSLT Functions. Be it "translate" , "regex" or "substring-after" etc. I still did not get my translate of white spaces (line break) to html line-breaks ( br - tag ) working 100%. May be the updated Edition answers this only thing that was not 100% perfect covered (for me) in the previous edition.
The book "stole" an hour from me to read the interesting chapters about the programming language philosophy behind XSLT, the "functional programming" rather than "structured programming". I saw a lot of other chapters providing a well researched history of computer programming before the Internet until now.
The Book is big and it is not one of those big books that are artificially inflated by adding screen shots of intuitive and straight forward pages that do not require any explanation. No, not in this case. You get over 700 pages (2nd Ed) and over 900 pages (this edition) full of great stuff that would still make a good book, even if you remove every part about XSLT from it.
I came to buy the 2nd Edition today and saw the XSLT 2.0 (3rd Edition) which I obviously bought instead. I am looking forward to get the updated and obviously greatly extended version within the next few days. You get a lot of knowledge and experience for what the books price is (I am amazed how cheap it, Wrox, I think I got the better end of the bargain in case of this book ;) )
The mentioned resources in the book are also great. I added several of them next to Michael Kay's books to the Web Development Resources Section of my personal (but public) Internet Marketing and Web Development portal at [...].
I hated this book - Review written on September 24, 2006
Rating: 2 out of 5
4 customers found this review helpful, 2 did not.
The author spends the first 176 pages giving an overview of XSLT using terms that he hasn't defined yet! I like the analytical approach, I like overviews before I dive into the details, but, for goodness' sake, defining how the engine transforms a document in terms of xslt operations and functions that aren't even discussed yet is just a really weird way of explaining something.
Then, in chapter 5, the 320 page chapter where he covers the xslt elements in alphabetical order, he gives you a nice little table on pp 175-6 that groups the elements together logically by function, but he doesn't even bother to give you the page numbers, so you can't use the table to drive your reading unless you go through the index and manually copy each page number.
Almost everything in the book seems to explain something in terms of something else that isn't explained yet, and that isn't even easy--or possible--to find, so you spend the whole book (900+ pages) juggling stuff in the air, hoping you keep everything straight until you finally get enough information to actually understand something well enough to use it.
As an example, as someone who just wants to do a few things with XSLT since I am not and never will aspire to be an XSLT developer--I just need to use a little of it for my current project--one of the most important elements for me to learn is the for-each select="x". Well, guess what? The x turns out to be an XPath expression, and since both XSLT and XPath are now so big, I have to buy another 500+ book on XPath in order to understand the for-each. You may say, that that's the way it is, and I just just suck it up and do it (which I am), but a better author could have made the information a little easier to master.
In conclusion, I am not suggesting that Kay doesn't know what he's talking about, or even that XSLT developers won't like this book. I am saying that, for the rest of us who just want to do a few things and then get on with our lives, this is not the book to buy. I can't imagine a worse book for anyone who just wants to learn enough XSLT to get by. And even for those who do want to learn it all, this is still a really weird book.
It better be on your shelf. - Review written on October 28, 2005
Rating: 5 out of 5
2 customers found this review helpful, 4 did not.
If XSLT is considered part of the job and I've got a hand in interviewing, I ask what books they have on their shelf. I don't care if they own a library - everyone has priorities and don't like to read everything. But when it comes to XSLT, this book had better be on their shelf or it raises some serious questions in my mind regarding their XSLT background. You either need it (I do) or you're so good you could write your own XSLT book (in which case, I can test you for that as I used to work in computer book publishing and had to do all of the "hard books").
In May, 1992, Windows 3.1 programming came into vogue and everyone wanted to know "What's the best book I can buy for Windows programming?" (on usenet, they show their ignorance by asking the question asked thirty times yesterday and don't look to see what was said). The answer was [almost] always, "Petzold, and any one of the following: ...". In the world of XSLT, it's "Michael Kay and any one of the following...". It's *that* important. (and that good) Before they made the digital available, I pondered keeping a copy at home and another at work. I ended up keeping the 2nd edition at work, 1st edition at home. Something was better than nothing [at home].
And as disclaimer, I have nothing to do with any of the resources which stand to gain from my saying all of this. If you can't afford this book, the holidays are coming. If you've got a birthday coming up before it, use that birthday wish by using a hint. Otherwise, take advantage of sitting on Santa's lap and make it plain & clear you'd be happy if you got this book and nothing else.
Great Reference, Mediocre Introduction - Review written on June 09, 2005
Rating: 4 out of 5
2 customers found this review helpful.
In looking at the other reviews, I have to wonder if some of these people even read the book.
There IS a reference section. Chapter 5 goes through a ton of XSLT elements in alphabetical order and lists what it does and how to use it. It ALSO lists the changes that were made to the element since XSLT 1.0. Chapter 7 does the same thing with the functions.
However, I'm in agreement that this isn't the best book for learning the language. The learning curve is steep. Very steep. However, if you get through it, you'll be ready for almost anything thrown at you (but also get the XPath 2.0 book, to make sure you're an expert).
In short, it's not perfect, but it's a great reference, which is exactly what it sets out to be.
GREAT For Experienced Readers, TERRIBLE For Beginners - Review written on November 21, 2004
Rating: 3 out of 5
43 customers found this review helpful, 7 did not.
It is difficult to give a numeric rating to this book because it depends on what kind of reader you are:
- If you have done little or no XSLT, and you want a book to efficiently explain how to start doing XSLT this is a TERRIBLE choice.
- If you are a beginner who wants to know every tiny detail of XSLT and has plenty of time to learn it, then this is a good choice.
- If you've already read an XSLT book, you are already comfortable with XSLT, and now you want to learn all the extra details the other authors thought wasn't important enough to include, then this is a GREAT choice.
This book almost reads like a specifiation. Although to be fair, I've read some specifications, like the EJB specification, that are more focused than this book. Any good trainer or training author knows that you have to organize your material to first put the emphasis on the central introductory concepts. Once your audience understands the basics, then you can build upon that foundation to explain the advanced topics. Along the way, you should always put the main focus on the most important topics, and just briefly mention extraneous details. Unfortunatley, this book does not organize the material for learning and covers everything with approximately the same emphasis. As just one example of this, Chapter 1 spends eight LONG pages on the history of XSLT including details like when so-and-so joined the specification team or presented a paper at a conference. What Chapter 1 does not do is give you any idea of how to write an XSLT sheet. I plodded my way through the first two chapters wondering when we'd get past all the gory details to a description of how to write an introductory XSLT sheet. Finally, I had enough and looked through the book trying to find how far I should jump ahead to find the introductory section, and realized it didn't exist. All the basics are interspersed with endless details throughout the book.
To be fair, the book calls itself a "programmer's reference." So one could argue that it shouldn't be designed to learn XSLT. However, trying to use this book as a reference would be equally probelmatic because its too hard to find the important information among all the extraneous details.
So if you already know XSLT well and want to know all the extra details, I truly do highly recommend this book. But if you want to learn XSLT in a resonable amount of time, I strongly recommend against this book.
Difficult reference to use - Review written on October 24, 2004
Rating: 3 out of 5
I have three main problems using this book for the last few weeks on my first serious attempt to use xslt on a non-trivial problem.
The first is the most minor and is that the graphics are really poor. This is true for almost every one in the document, but if you have a chance to look at the book, check out page 56 for example. They are not what I would consider production-quality graphics. The extreme amount of aliasing makes the small font used in these diagrams almost unreadable. I don't understand how this could have been judged acceptable by the publishers.
Second is that it is very hard to find things in this book. Chapter 5 is the alphabetical reference for the xslt elements. The header at the top of the page does not list the element that is being described on the page. Also the font and style for the element headings are no different for their subheadings. This means there is no easy way to navigate this 300+ page section by flipping through it to find what you need. Whenever you want to find something, you have to go to the index first...
which is the second problem with trying to find things. The index itself is poor. When I first got the book, I read it from cover to cover (except for chapters 5 and 7 which are alphabetical reference sections). As I have been trying to use this book as a reference, I remember paragraphs or tables that I want to look at again, but I can't find them from the index. For example, I knew there was a table somewhere that listed all the different axes and I wanted to find it to get the exact name of an axis I wanted to use. The word "axis" (or "axes") is not in the index at all.
I am using this book daily and am finding myself frustrated every day with similar problems trying to find something that I know is in the book, but can't get to directly from the index. More than once I have resorted to flipping page-by-page through the book to find what I am looking for. At nearly 900 pages, it gets old really fast.
My third problem with the book stems from his statement in the introduction that "Since XSLT 2.0 has such a strong dependence on XPath 2.0, you really need both books..." where he is referring to his XPath book. He is not joking when he says that. It doesn't say that explicitly on the cover or on the web page description. But you can't go far in the book without finding a statement that what you are looking for is explained in a chapter of his XPath book. Maybe that is more true for me, as a newcomer to both, but it is different from his previous edition and something you should be aware of.
On the positive side, the book is comprehensive (within the bounds of its purposeful exclusion of XPath). I do not recommend it as an introductory text. The introduction acknowledges it is not meant as a tutorial. From my experience, it is downright unfriendly to xslt newbies.
I was able to get "The XSL Companion" by Neil Bradley from my library and found it to explain things better. I have read good things about Jeni Tennison's books and am waiting to check out her upcoming "Beginning XSLT 2.0".