| Disclaimer |

| The Xerces2 Java Parser 2.4.0 contains a partial implementation of the W3C Document Object Model Level 3. The DOM Level 3 specification is at the stage of Working Draft, which represents work in progress and thus may be updated, replaced, or obsoleted by other documents at any time. This implementation is experimental: it should not be considered as complete or correct.

| Introduction |

The Xerces2 Java Parser 2.4.0 contains an implementation of the Document Object Model Level 3 Core and Document Object Model Level 3 Load and Save Working drafts. To learn how to program with the DOM Level 3 see dom.DOM3 sample.

The DOM Level 3 methods for which implementation is not provided throw `DOMException NOT_SUPPORTED_ERR` exception.

| To find out how to access DOM Level 3 functionality, please refer to the FAQ .

| Implementation of DOM Level 3 Core |

All of the DOM Level 3 Core functionality is implemented, including:

- DOMImplementationRegistry Bootstrapping -- lets an application find an implementation, based on the specific features it requires.
- DOMConfiguration -- using configuration users can set different parameters for the Document.
- Element setIdAttribute, setIdAttributeNS, setIdAttributeNode -- allows to set an `ID` attribute for the current element.
- TypeInfo -- exposes type information in the DOM tree.
- Node compareDocumentPosition -- compares a node with this node with regard to their position in the tree and according to the document order.
- DOMError, DOMErrorHandler, DOMLocator, UserDataHandler -- users can register error and user data handlers.

The `parameters` supported are:

- error-handler [ DOMErrorHandler ]
- entity-resolver [ DOMEntityResolver ]
- schema-type [ String ]
- schema-location [ String ]
- canonical-form [ false ]
- cdata-sections [ true/false ]
- comments [ true/false ]
- entities [ true/false ]
- infoset [ false ]
- namespace-declarations [ true ]
- normalize-characters [ false ]
- split-cdata-sections [ true/false ]
- validate-if-schema [ true/false ]
- whitespace-in-element-content [ true ]
- datatype-normalization [ true/false ]
- discard-default-content [ true/false ] -- the removal of default content depends on `isSpecified` flag.
- validate [ true/false ] -- revalidation is supported only against XML Schemas. For more information, please refer to How to revalidate DOM in memory? .
- validate-if-schema [ true/false ]
- psvi [ true/false ] -- setting the value of this parameter to true will include PSVI information in the DOM tree. To access the information, cast dom.Element to org.apache.xerces.xni.psvi.ElementPSVI and dom.Attr to org.apache.xerces.xni.psvi.AttributePSVI.

| Implementation of DOM Level 3 Load and Save |

Most of the functionality is implemented. Here is the list of limitations:

- DOMBuilder parserWithContext -- not supported.
- DOMImplementationLS MODE_ASYNCHRONOUS -- not supported.

Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.