Whats wrong with the W3C DOM?
The DOM was designed to be independent of any programming language; therefore it can be quite incovenient to use in a particular programming language, such as Java: • The DOM makes very limited use of the Java class library. Many features have been reinvented, for instance creating a NodeIterator instead of using java.util.Iterator. • Some areas have a weak design. Method overloading is not used because not all programming languages support it, for instance JavaScript. • Named constants are often short integer instead of constant objects. • There is only one kind of exception, details are provided by constants instead of having an exception class hierarchy. • No Java-specific utility methods like equals(), hashCode(), clone(), or toString() are defined. • Unexpected behavior can result in that the value of a non-empty element is defined to be null, raising the widely popular java.lang.NullPointerException. Some DOM implementations also allow the creation of malformed documents. • Parse