Bootstrap DOM Correctly
One of the most misunderstood and abused aspects of using DOM is getting an initial DOM implementation for programming. This is typically referred to as bootstrapping, and it is often done incorrectly. There are two different approaches, depending on which version of the DOM specification your implementation adheres to.
DOM Levels 1 and 2
In DOM Levels 1 and 2, the process of getting a DOM implementation to work is difficult. Before I explain why, though, you should understand why you need a DOM implementation in the first place.
you are reading in an XML document (e.g., from an existing file or
input stream), this entire section is not applicable. In these cases,
reader.getDocument( ) method will return a DOM
Document object, and you can then operate on that
DOM tree without any problem. I’m also assuming that
you’ve chosen not to use JAXP. If you are using
JAXP, these issues are taken care of for you. In many cases, however,
JAXP either is not available or you have software restrictions that
make it a nonoption in your application or organization.
end goal of bootstrapping is to get a vendor’s
implementation of the
interface. Most developers’ instincts, therefore,
are to write this line of code:
Document doc = new org.apache.xerces.dom.DocumentImpl( );
The obvious problem here is that your code is now tied to Xerces, and can’t work with another parser without modification. In fact, it often won’t function with a different ...