The JAXP APIs
JAXP doesn't do any kind of processing instead it provides a mechanism to obtain parsed XML documents employing SAX and DOM parsers . JAXP provides a mechanism to plug-in with various providers (supporting standard specifications for DOM, SAX and XSLT ). JAXP also specifies which provider to use.
Overview of the main JAXP API Packages
The libraries that define needed JAXP APIs are:
javax.xml.parsers | The JAXP APIs provide a common interface for different vendors' to use SAX and DOM parsers. |
org.w3c.dom | Defines the Document class (a DOM) along with the classes for all of the components of a DOM. |
org.xml.sax | Defines the basic SAX APIs. |
javax.xml.transform | Defines the XSLT APIs that let's to transform XML into other forms. |
The SAX API is defined in org.xml.sax package of JAXP-APIs. The "Simple API" for XML (SAX) is the event-driven, serial-access mechanism that does element-by-element processing. The API for this level reads and writes XML to a data repository or the Web.
The DOM API is defined in org.w3c.dom package of JAXP-APIs. The DOM API is easier to use. It provides a tree structure of objects. The DOM API are used to manipulate the hierarchy of application objects it encapsulates.
The XSLT APIs defined in javax.xml.transform package of JAXP-APIs. The XSLT APIs let you convert XML data to into other forms.
javax.xml.parsers --Description
Provides classes to process XML documents and supports two types of plugable parsers ie..SAX and DOM Here are the following classses defined in javax.xml.parsers package:
DocumentBuilder | Defines the API to obtain DOM Document instances from an XML document. |
DocumentBuilderFactory | Defines a factory API that enables applications to obtain a parser that produces DOM object trees from XML documents |
SAXParser | Defines the API that wraps an XMLReader implementation class |
SAXParserFactory | Defines a factory API that enables applications to configure and obtain a SAX based parser to parse XML documents |
This package contains two vendor-neutral factory classes:SAXParserFactory (builds a SAXParser) and DocumentBuilderFactory (builds a DocumentBuilder).
TheDocumentBuilder further creates a DOM-compliant document object.
The factory APIs enables to plug-in with the XML implementation (provided by any vendor without changing the source code). The obtained implementation depends on the setting of the system properties of these factory classes javax.xml.parsers.SAXParserFactory and javax.xml.parsers.DocumentBuilderFactory . The default values (unless overridden at runtime) point to the reference implementation.
JAXP1.4 supports:
- SAX 2.0
- The Simple API for XML (SAX) specification provides an event-based mechanism for parsing XML documents. Various interfaces are defined in JAXP to handle different kind of events. SAX 2.0 supports name spaces and custom event filters.
- DOM Core Level II
- The Document Object Model (DOM) specification provides mechanisms to build and traverse tree-based representation of a XML document.
- DOM Level I provided core mechanisms for traversing a tree and adding, deleting, and updating content.
- DOM Level II provides support for events, namespaces, etc.
- XSLT 2.0
- The Extensible Stylesheet Transformation(XSLT) specification defines various scripting mechanisms to transform one XML document into another.