Great Overview of XML
As a Perl programmer, my first instinct when given some XML to process is to grab the appropriate Perl module (probably XML::XPath or XML::LibXML) and use that to do whatever I need to. Although that usually gets the job done, reading this book opened my eyes to a number of other XML processing tools that will sometimes be more useful than a Perl program. Actually Perl doesn't get mentioned at all in the index, whereas Java gets half a column of entries.
A lot of the book isn't aimed at the kind of person who is comfortable firing up an editor writing a program. Many of the hacks introduce ready-made applications that handle a number of different XML tasks. For example there are applications that, given an XML document, will take a first pass at creating an XML Schema or DTD for the document. This is something that would be an interesting project to write for yourself, but if you just need the schema it's nice to know that someone else has already written the application for you.
One of the most interesting chapters for me was the one about editing XML. My usual tool for that is xml-mode in Xemacs but the book introduced me to a number of other possibilities. The one that particularly caught my eye was nXML for Emacs. Unfortunately it's not currently compatible with Xemacs, so I need to try out some of the other editors that are discussed.
Like all of O'Reilly's Hacks books, this book is aimed at a very wide audience. Some of the tools are Open Source and some of them are commercial. Some of them run on only one platform and some of them will run anywhere. That has the potential to be a little frustrating when you find a tool that looks really useful, only to find out that it only runs on Windows. Fortunately the authors are aware of this problem and make a real effort to present tools that run on as wide a range of platforms as possible. If one hack presents a tool that only runs on Windows then you can be sure that the next hack has a similar tool that runs somewhere else.
The audience is diverse along other dimensions too. There are hacks aimed at people who will just want to save a Word document in DocBook format (hint: use OpenOffice) and at the other end of the spectrum there are hacks aimed at people who want to create SOAP services. There are hacks aimed at all levels of producing and using XML.
It's an inevitable consequence of this type of book that not everyone is going to find all of it useful. But the authors are obviously experts in their field and they explain themselves very clearly. I thought I knew a lot about processing XML but I discovered a lot of new and interesting things from this book. If you want a good overview of the various ways that XML can be useful to you, then this book would be a very good start.
Useful tips for every XML task you're likely to want to do
This is my favorite O'Reilly book. The scope covers everything you can imagine for working with XML. I really like the depth of information in every hack ('hack' in the sense of ways to get something done). Whenever a tool is mentioned, there is often additional info about related tools that do similar functionality and why you would choose one or the other. Each hack is like a well-crafted short story.
At first I glanced through the book. It's amazing how people have solved so many common tasks to make working with XML automated and flexible. It's fun to look at the titles of each hack and see the illustrations. I found myself saying "That's a technique that'll come in handy someday."
Then I found myself marking up the tools and applications mentioned that did nifty things that will be good quivers in my XML toolkit.
Finally this book provided some invaluable techniques when I needed to do a few one-time XML tasks. I needed to extract information from a humongous XML file. I was able to extract the text of all elements into a nice tidy HTML page.
Another time I created a tree diagram with custom bullet list symbols for the two types of items in the tree using CSS to format the XML (I'd heard it was possible, but didn't know how to do it).
And if you're looking for a quick explanation and examples for some XML technology, like XQuery, XSLT, SVG, XPointer, XLINK, RSS, some recommendations on commercial and free XML tools, XForms, XHTML, working with Microsoft Office documents as XML or for importing into Word or Excel and many more, then I recommend getting this useful, information-packed and handy reference book.
You'll grab it off the shelf whenever you want to do something efficiently in XML without reinventing the wheel.
helpful supplement
I'm familiar with XML and have found this book to be helpful. Not a book to learn XML, it is a place to pick up new information that can help to complete a toolbox already in the making. There were some hints to bridge gaps between what I want to do and what I know how to do. I plan to have it nearby to make my work easier and faster.
Do [Task] with [Other Object]
Nothing irritates me as much as the industries gratuitous use of the word "hack". I won't say more on this topic other than to advise you that any time you see the word "hack" in this book, substitute it for "tip", "task", or "how to". Once that is understood, this title takes on a whole new feel and its usefulness is made clearer.
Anyone not already familiar with XML, its creation and use, should probably not pick up this book. However, if you are using XML documents a lot, the chances are that this book will yield a resolution method for most of the XML file transformation, modification or parsing need you may have. This method, however, typically requires the use of a third party utility, application, or script (a great many of the tips are titled "Do [something] using [something else]"). A quick flip through the table of contents reveals at least 35 different utilities required to the complete the associated tasks - which is OK if you don't mind incorporating "black box" solutions into your environment. There are also many "see this book" notations within this title as well, so if you find a solution to a need, but require more than what the tip tells you, you may need to make additional purchases.
Overall, a good read for anyone that already knows and makes heavy use of XML; you're sure to walk away with something new.
100 Cool Hints and Tips
If you've ever tried to go to a web page automatically and then parse the information by examining the string you got back, you can appreciate XML. While not perfect XML is probably the most practical option for packaging data that can be read by both humans and computers.
As with the other O'Reilly Hacks books, this one contains 100 hints, tips and suggestions on on how to get more out of XML.
I find that whenever I read one of their Hacks books I pick up something useful that just happens to fit the problem I'm working on at the moment. This one was no exception. Great idea! Great Books.