The xml-apis-dom3.jar file is a combination of the xml-apis.jar file
built from the Apache xml-commons project and some DOM Level 3 class
files.

The xml-apis-dom3.jar can be rebuilt by:

  1. Building the xml-apis.jar file from the xml-commons/java/external
     build.xml ANT file.

  2. Downloading and compiling the DOM Level 3 Core, DOM Level 3
     Events and DOM Level 3 XPath classes from the W3C:

       http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.html
       http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/java-binding.html
       http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/java-binding.html

  3. Replacing the class files under org/w3c/dom with those built from
     the DOM Level 3 Core java bindings.

  4. Adding class files built from the DOM Level 3 Events and DOM Level 3
     XPath java bindings to the xml-apis.jar, and renaming it xml-apis-dom3.jar.

Three licenses cover the content of xml-apis-dom3.jar:

LICENSE.dom-software.txt
LICENSE.dom-documentation.txt
LICENSE.sax.txt

