What’s Important?
Once you’ve accepted that XML can help you out, the next question is what part of it you need. As I mentioned earlier, there are literally hundreds of applications of XML, and trying to find the right one is not an easy task. I’ve got to pick out twelve or thirteen key topics from these hundreds, and manage to make them all applicable to you; not an easy task! Fortunately, I’ve had a year to gather feedback from the first edition of this book, and have been working with XML in production applications for well over two years now. That means that I’ve at least got an idea of what’s interesting and useful. When you boil all the various XML machinery down, you end up with just a few categories.
Low-Level APIs
An API is an application programming interface, and a low-level API is one that lets you deal directly with an XML document’s content. In other words, there is little to no preprocessing, and you get raw XML content to work with. It is the most efficient way to deal with XML, and also the most powerful. At the same time, it requires the most knowledge about XML, and generally involves the most work to turn document content into something useful.
The two most common low-level APIs today are SAX, the Simple API for XML, and DOM, the Document Object Model. Additionally, JDOM (which is not an acronym, nor is it an extension of DOM) has gained a lot of momentum lately. All three of these are in some form of standardization (SAX as a de facto, DOM by the W3C, and ...