Java API for XML Processing

The Java API for XML Processing, or JAXP, is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents. The two basic parsing interfaces are:

In addition to the parsing interfaces, the API provides an XSLT interface to provide data and structural transformations on an XML document. The J2SE 1.4 JDK is the first version of a JDK comes with an implementation of JAXP 1.1.


DOM interface

The DOM interface is perhaps the easiest to understand. It parses an entire XML document and constructs a complete in-memory representation of the document using the classes modeling the concepts found in the Document Object Model(DOM) Level 2 Core Specification (

The DOM parser is called a DocumentBuilder, as it builds an in-memory Document representation. The javax.xml.parsers.DocumentBuilder is created by the javax.xml.parsers.DocumentBuilderFactory. The DocumentBuilder creates an org.w3c.dom.Document instance, which is a tree structure containing nodes in the XML Document. Each tree node in the structure implements the org.w3c.dom.Node interface. There are many different types of tree nodes, representing the type of data found in an XML document. The most important node types are:

  • element nodes which may have attributes
  • text nodes representing the text found between the start and end tags of a document element.

Refer to the javadoc documentation of the package org.w3c.dom for a complete list of node types.

SAX interface

The SAX parser is called the SAXParser and is created by the javax.xml.parsers.SAXParserFactory. Unlike the DOM parser, the SAXParser does not create an in-memory representation of the XML document and so is faster and uses less memory. Instead, the SAXParser informs clients of the XML document structure by invoking callbacks, that is, by invoking methods on a DefaultHandler instance provided to the parser.

The DefaultHandler class is found in the org.xml.sax.helpers package. It implements the ContentHandler, the ErrorHandler, the DTDHandler, and the EntityResolver interfaces. Most clients will be interested in methods defined in the ContentHandler interface.

The ContentHandler methods implemented by the DefaultHandler are called when the SAX parser encounters the corresponding elements in the XML document. The most important methods in this interface are:

  • startDocument() and endDocument() methods that are called at the start and end of an XML document.
  • startElement() and endElement() methods that are called at the start and end of a document element.
  • characters() method that is called with the text data contents contained between the start and end tags of an XML document element.

Clients provide a subclass of the DefaultHandler that overrides these methods and processes the data. This may involve storing the data into a database or writing it out to a stream.

XSLT interface

The XML Stylesheet Language for Transformations, or XSLT, allows for conversion of an XML document into other forms of data.


Additional Resources


  • Art and Cultures
    • Art (
    • Architecture (
    • Cultures (
    • Music (
    • Musical Instruments (
  • Biographies (
  • Clipart (
  • Geography (
    • Countries of the World (
    • Maps (
    • Flags (
    • Continents (
  • History (
    • Ancient Civilizations (
    • Industrial Revolution (
    • Middle Ages (
    • Prehistory (
    • Renaissance (
    • Timelines (
    • United States (
    • Wars (
    • World History (
  • Human Body (
  • Mathematics (
  • Reference (
  • Science (
    • Animals (
    • Aviation (
    • Dinosaurs (
    • Earth (
    • Inventions (
    • Physical Science (
    • Plants (
    • Scientists (
  • Social Studies (
    • Anthropology (
    • Economics (
    • Government (
    • Religion (
    • Holidays (
  • Space and Astronomy
    • Solar System (
    • Planets (
  • Sports (
  • Timelines (
  • Weather (
  • US States (


  • Home Page (
  • Contact Us (

  • Clip Art (
Personal tools