Before closing the book on DOM and looking at common gotchas, I will spend a little time letting you know what’s coming in DOM Level 3, which is underway right now. In fact, I expect this specification to be finalized early in 2002, not long from the time you are probably reading this book. The items I point out here aren’t all of the changes and additions in DOM Level 3, but they are the ones that I think are of general interest to most DOM developers (that’s you now, if you were wondering). Many of these are things that DOM programmers have been requesting for several years, so now you can look forward to them as well.
The first change in the DOM that I want to point out seems pretty trivial at first glance: exposure of the XML declaration. Remember those? Here’s an example:
<?xml version="1.0" standalone="yes" encoding="UTF-8"?>
There are three important pieces of information here that are not
currently available in DOM: the version, the state of the
standalone attribute, and the specified encoding.
Additionally, the DOM tree itself has an encoding; this may or may
not match up to the XML
encoding attribute. For
example, the associated encoding for “UTF-8” in Java
turns out to be “UTF8”, and there should be a way to
distinguish between the two. All of these problems are solved in DOM
Level 3 by the addition of four attributes to the
Document interface. These are