on December 11, 2002
Today XML landscape has became quite large. I can't even count XML related specs and protocols. Everyday a new X.. is popping up.
To understand -most- of technical XML concepts, one has to understand so many stuff: What XML is really about othen than buzz some people is making, why/how one should use schemas (DTD, W3 XML-Schema, RelaxNG...), how XML data can be processed (parsing and transformation), how XML data can/should be stored, what Web Services/SOAP is about...
It's impossible to cover all these in a single or even a few books. So it's logical that "Processing XML with Java" focuses on a single dimension of XML: "Parsing and Trasformation"
Harold splits the book into 5 logical parts according to APIs, each 2 to 5 chapters:
- XML (Introduction and Overview),
- SAX (Simple API for XML: event based relatively low level API)
- DOM (most popular, cross language API)
- JDOM (Java only DOM-like API)
- XPATH/XSLT (Stylesheet transformation)
Each chapter includes an overview of the covered API(s), detailed description of classes & interfaces as well as examples showing how and when to use them.
"Processing XML with Java" includes fair amount of code which is readable and understandable. In fact it would be crazy, trying to learn XML processing without coding, since it requires knowledge of very specific APIs, libraries, interfaces etc. whatever you name.
Overall, I recommend the book to especially those who have beginner to intermediate level exposure to XML. In such a case, you can quickly pick the pros, cons, dos, don'ts and save much time in building your XML skills. After reading this book, next step would be learning more about XML schema languages, XSLT, Web Services and the story about XML-database.
If you've already worked with XML, used SAX, DOM and XSLT in a few real life projects, then I suggest you to check the online version of the book (at cafeconleche.org) before buying. Best would be to read a couple of chapters and decide yourself, whether you like it or not.
And kudos to Elliotte Rusty Harold for publishing an online (HTML) version. It's a brave decision that I know not so many authors have made so far (who doesn't know Thinking in Java/Bruce Eckel ?).
Disclaimer: I've received a copy of "Processing XML with Java" from the publisher for reviewing purpose.
on April 17, 2003
This book is an excellent resource for combining these two technologies, XML and Java. The author starts with the assumption that the reader is conversant in XML and at least intermediate skill level with Java. The first chapter of the book serves as a XML refresher. The author uses this chapter to reach a common understanding of terms with the reader. The first part of the book covers using many of issues of managing XML from Java and introduces two XML based services, XML-RPC and SOAP.
The remainder of the book is devoted to the various APIs for parsing XML hence the subtitle "A Guide to SAX, DOM, JDOM, JAXP, and TrAX". Throughout the book the author creates clear code examples and very readable text. This serves to develop understanding and insight in reader. This particular technical topography is under continuous change. Adapting to these changes will be much easier after having read this book.
A lot of tips and "gotchas" are shared in the book, but it is arranged so that the developer grab what he needs or he can sit and camp awhile. The book text is available at the author's website, but I prefer to read the paper copy. If you are going to use XML and Java together, this book would be a good investment.
on November 22, 2002
It used to be that to get a job as a java programmer, all you typically needed was knowledge of java itself plus some general background in computer science. But today we have a severe high tech slump, and technology has also moved on. The former has caused companies that are still hiring, and those that are picking programmers to retain, to require a broader skill set. One of these has been produced by the latter, XML. It really is shaping up that data serialisation is increasingly in XML format, if that data exists outside a database. So for professional reasons you should learn XML, if you are indeed any type of programmer. For example, Microsoft's .NET revolves around XML, and they don't use java. But it turns out that the coupling between java and XML is tight. The most advanced parsers for XML exist for java. In C++ and C#, the parsers are essentially one step/generation behind.
Given this, where do you turn to learn XML? An excellent choice is this book. A voluminous and eloquent exposition of the uses of XML. Harold covers the latest versions of the SAX and DOM parsers, explaining the relative merits. As a java programmer, you should find the idea behind SAX simple. It uses a callback, similar to that in GUIs. Simpler, in fact, because you can only have a single callback. SAX's biggest drawback is that it does not build a tree of the document. DOM addresses this. Harold explains the tradeoffs, and how you can decide which to use. Plus, he describes JDOM, which is DOM-like, but written expressly for java. You should find JDOM far more intuitive than DOM.
There is one place where I must differ with the author. He claims that this book is for the experienced java programmer who has already had some XML. I think he is being too conservative; he doesn't want to oversell this book to someone who will not benefit from it. I claim that if you are experienced, by which I mean you have a year or more in java, then you have the intellectual wherewithal to gain, even if you have never seen a stitch of XML.
on June 26, 2004
If only every technical book was written this well! Anyone who is working with Java and XML should have a copy of this book. Highly example driven with clear explanations, the author makes using XML in your Java programs a breeze. Even better, the author has a style that makes the book fun to read as you feel like you are learning all sorts of secrets from an XML insider.
The book starts with a quick introduction to XML and then gets into how to create XML documents in your programs. The first four chapters cover everything you need to know about creating XML whether it is for XML-RPC, SOAP, or simply to store in a file. The next section covers parsing XML documents. SAX and DOM are compared and then the next eight chapters discuss these two methods of parsing documents, explaining how to use them, comparing them, and helping you determine how to decide which technique to use for which situation. The section on DOM explains not just how to parse documents using DOM but also how to create new documents. The final chapters of the book cover JDOM, XPATH, and XSLT.
Did I mention that this book is full of examples? The author doesn't rely on simply explaining how something works or how to use a technology (even though his explanations are excellent), he has examples to demonstrate everything he discusses. Each example builds upon the previous example and makes learning the techniques easy and enjoyable.
on November 29, 2002
I found everything in this book that is required as a Java XML developer. Very well written and contains good number of examples. Every chapter topic is well thought of and the content flows nicely. The book is divided into five parts. The first part (5 chapters) describes XML family of standards and basics of options available for working with XML in Java. Part two (3 chapters) contains detailed discussion on Simple API for XML processing (SAX), a very popular event-based streaming XML API. To complement the second part, the third part (five chapters) contains excellent coverage on Document Object Model or DOM. Fourth section (2 chapters) contains information on JDOM and finally the last part of the book (2 chapters) focuses on XPath and transformations (XSLT). Throughout the book the author presents useful notes and tips. In summary, this book is the best technical book for Java XML developers; highly recommended.
on February 5, 2003
I bought this book with high expectations. I have read Elliott Rusty Harold's XML in a Nutshell book from O'Reilley twice. He is an exceptional technology writer. This new book brings the subject to a new level. As always, Addison-Wesley editors prove that they are the exceptional publisher of quality technical material. ...
This book is really a substantial update of the author's Java Network Programming book by O'Reilly. It takes the subject to an entirely new space. For example, want to understand SAX exception handling using JDOM processing instructions ? This is THE book. There is more information about how XML parsers really work in this book then many of the other XML texts combined. (Although the O'Reilly XML Cookbook is really good as well).
Chapter 4 on converting flat files (he uses the US Federal Budget data) to XML is priceless. Worth the cost of the book alone!
on December 1, 2002
This is a great book. One couldn't ask for more when it comes to XML and Java processing. I was following the pre-releases and was even more satisfied when saw the 'fat' final edition. It is clear the author had spent time on putting it together and to make the reader satisfied. The content complexity evolves from topic to topic but it is easy to read with accurate examples. Besides the classic subjects of DOM, SAX, JDOM, etc. the author marks different parsers and processing techniques as well as had dedicated some chapters to the web services protocols. In short, if you are relatively new to XML and have the Java background this book will set you right on track. For the rest of us it will make the new XML bible!
on August 6, 2003
I bought this book when it first came out. I really enjoyed reading it. The book is well written. It has a lot useful code.
The author code that can be used in the real world of JAVA and XML. I liked the books section on JDOM. This book shows the differences between DOM and JDOM. Also, this book has a lot of information on SAX, DOM, JDOM, and it shows the differences when using each. I would recommend this book to anyone who wants to learn JAVA and XML. Make sure you are an experienced developer before purchasing this book.
on August 15, 2003
I really like reading this book. It is easy to read and understand. The author does a good job of describing the XML technologies related to JAVA. This book has a lot of code to analyze. This book is a must have for the experienced developer who wants to do JAVA with XML. I have a message for the experienced developer: THE CODE WILL CHALLENGE YOU; IT CHALLENGED ME!!!
on November 7, 2007
I have been going through many books, forums using google with marginal results. Finally stumbled on "Processing XML with Java".
If I had this book from the beginning I would have saved myself many many hours of frustration. Clear, concise and best of all, nice examples that work!
To boot you get an online version that is searchable with google and always updated.