The JavaTM API for XML
Processing (JAXP) includes the basic facilities for working with XML
documents through the following standardized set of Java
Platform APIs.
Document Object Model (DOM) Level 2
The Document Object Model (DOM) is a set of interfaces
defined by the W3C DOM Working Group. It describes facilities
for a programmatic representation of a parsed XML (or HTML)
document. The DOM Level 2 specification defines these
interfaces using Interface Definition Language (IDL) in a
language independent fashion and also includes a Java
Language binding.
The JavaTM API for XML
processing specification includes by reference both the
abstract semantics described for the DOM Level 2 Core
Recommendation interfaces and the associated Java Language
binding. It does not include the optional extensions defined
by the DOM working group.
The API package included by the JavaTM
API for XML processing specification is:
The Simple API for XML (SAX) is a public domain API
developed cooperatively by the members of the XML-DEV mailing
list. It provides an event-driven interface to the process of
parsing an XML document.
An event driven interface provides a mechanism for
"callback" notifications to applications code
as the underlying parser recognizes XML syntactic
constructions in the document.
The JavaTM API for XML
processing specification includes by reference the SAX 2.0
API and the SAX2 extensions in its entirety.
The XSL Transformations (XSLT) describes a language for transforming XML documents
into other XML documents or other text output. It was defined by the W3C XSL Working group.
The endorsed APIs provide broad and useful functionality.
However, the use of a SAX or a DOM parser typically requires
knowledge of the specific implementation of the parser.
Providing the functionality of the endorsed APIs in the Java
Platform, while allowing choice of the implementation of the
parser, requires a Pluggability layer.
The JavaTM API for XML
processing specification defines a Pluggability mechanism to
allow a compliant SAX or DOM parser to be used through the
abstract javax.xml.parsers
and javax.xml.transform
API. Also, compliant Transformers are pluggable via the javax.xml.transform
API.