To paraphrase a well-know aphorism, Don't judge the difficulty of a book by the numerous abbreviations and acronyms in the title. Sas Jacobs’ book ''Beginning XML with DOM and AJAX: From Novice to Professional'' published by Apress is a wonderfully succinct introduction to the world of Web development, which today means being able to manipulate XML in any of its various forms. The book might more accurately be titled ''Beginners Guide to Manipulating XML Documents for Web Development'' or simply ''Working with the XML-based Web''. This book is certainly not as cryptic or abbreviation-laden as the title implies. The text from beginning to end is a quick tour of the many tools and skills needed to manipulate XML content.
From the Ground Up
Since XML is so ubiquitous, it makes great sense to start there with some chapters explaining this underlying technology. The first three chapters are on XML, XML recommendations, and XML vocabularies. In these three chapters, the author covers the foundation of XML with just enough information to get you started without feeling overwhelmed. In fact, that’s the feeling I get from the entire book – informed but not overwhelmed. In the third chapter, the relevant XML vocabularies are summarized with examples, from XHTML to RSS and Web services. But this is only the beginning.
From XML to Web in Ten Steps
Once you understand the overall organization of the material, you can dig into each chapter and learn enough to get you started. This is not a compendium of all the detailed methods of dealing with XML. Rather, this is an introduction to the techniques and vocabulary that will help Web developers launch into the domain of manipulating XML data and XML documents. Like travel books that distill a culture or country enough to fit into a book, it becomes almost an outline without any dense discussion of history or tradition behind these technologies. The pace is consistent – and fast. The writing is not excellent – there will be no award for great prose here – but it is very readable. I get the same feeling when I'm being shown through a museum or store by a friend who points out the important things but rushes me through so we can see it all in a short amount of time. There is no time wasted on the presentation or layout aspect of Web design but there is plenty to read about the guts, the engine (or maybe more accurately, the transmission) behind Web programming. There is a lot going on with scripting, and we will be seeing more of this in the future, so I am glad that Sas Jacobs concentrates the middle chapters on these techniques.
From Pieces to Applications
The final chapters deal with more real-world topics, but stepping back from the client. Chapter 11 about server-side techniques is a necessary counterbalance to all the client-side topics so far. Finally, the last two chapters deal with applications - in .NET and in PHP. Here is where you can see how the pieces fit together in very real-world practical scenarios. It's a good way to motivate you to put what you have learned into practice. I was disappointed that it was over so soon.
There are certainly a few criticisms of this book, but these are probably answered with the phrase "but that's outside the scope of the book" or "we couldn't cover everything". I don’t know why there is no mention of XQuery. Also, I found it strange that the DOM (Document Object Model) is brought up early and then left not to be presented until half-way through the book. With mention of it in the title being so prominent, I thought it would have deserved earlier explanation and motivation. But my biggest complaint is that there is no mention of Java or Java-based solutions for accessing, manipulating, and outputting XML data from Java code. The author completely ignored JAXP, JDOM, and jom4j as valid and popular methods for manipulating XML for Web development.
This book mentions RSS and SOAP, and puts them in a category of Web vocabularies; I might have put these in a separate chapter, maybe with more discussion on Web services, but I understand her reasoning. And I am not the first to notice that there could be an appendix listing places to go for more information. I've included my own very brief list at the end of this article. There are so many topics covered in this book that readers will definitely be using the Web to look up more information.
The quote on the back "everything you need to get ahead" is overstated because it does not provide everything to get ahead, but it it does provide most of what you need to get started in a big way. This book is really about understanding the basis of Web development as manipulating XML content with the latest tools. If you are looking for a good introduction to the basis of most of the tasks of Web site development, then this book is a winner. Sas Jacobs does a great job of encapsulating what could be a huge topic into a reasonably sized book at roughly 400 pages. This book does not feel big at all. Despite the omission of a few subtopics, I think this book does a great job of organizing a huge (and growing) subject and presenting real-world examples in a concise and organized package.
For those who want to dig deeper, you can read about these XML and Web introductions:
In "An Introduction to XML and Web Technologies", Anders Møller and Michael I. Schwartzbach (Addison-Wesley, January 2006)
For more information on Java API for XML Processing (JAXP),