The DOM is still a work in progress, and DOM Level 3 as well as unimplemented parts of Level 2 will bring many new capabilities to JavaScript programmers. Some of the features are convenience methods like renameNode(), which allow you to rename an element or attribute, and isEqualNode() and isSameNode(), which enable comparisons on nodes. We can even compareDocumentPosition() or determine isElementContentWhitespace(), which might help greatly when dealing with different interpretations of a document. Other DOM Level 3 features include the ability to load the contents of an XML document into the document and serialize the current document into XML and even the implementation of views, which suggests that even the Window object may someday be standardized. Unfortunately, at the rate the standard is progressing it may be some time before it is finished, and it will be even longer before we see these features in Web browsers. Until such time as we see a more complete and consistent implementation of the DOM, JavaScript programmers still need to be aware of proprietary DHTML object model features.