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.
Tip
If
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,
the 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.
The
end goal of bootstrapping is to get a vendor’s
implementation of the org.w3c.dom.Document
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access