<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "./dtd/document.dtd">

<s1 title="API Documentation">
    <s2 title="Javadoc Generated Documentation">
        <p>&javaparsernamelong; comes packaged with API documentation for SAX and DOM, 
        the two most common interfaces for programming XML.  In addition, 
        we provide documentation for classes that are not part of the SAX 
        and DOM API's, but are useful for writing &javaparsername; programs. </p>
        <p>This documentation is generated automatically from the Javadoc-style 
        comments inside the source files.  Click on one of the links below to 
        go to the appropriate API documentation.</p>
    </s2>
    <s2 title="&javaparsername; API Documentation">
        <ul>
            <li><jump href="../apiDocs/index.html">Full API documentation</jump></li>
            <li><jump href="../apiDocs/overview-tree.html">Hierarchy for all the packages</jump></li>
        </ul>
    <s3 title="Package org.apache.xerces.parsers">
      <s4 title="Classes">
        <ul>
            <li>DOMParser</li>
            <li>SAXParser</li>
        </ul>
      </s4>
      <s4 title="Interfaces">
        <ul>
            <li>Attr
                <br/>The Attr interface represents an attribute in an Element object</li>
            <li>CDATASection
                <br/>CDATA sections are used to escape blocks of text containing characters
                that would otherwise be regarded as markup</li>
            <li>CharacterData
                <br/>The CharacterData interface extends Node with a set of attributes and
                methods for accessing character data in the DOM</li>
            <li>Comment
                <br/>This represents the content of a comment</li>
            <li>Document
                <br/>The Document interface represents the entire HTML or XML document</li>
            <li>DocumentFragment
                <br/>DocumentFragment is a "lightweight" or "minimal" Document object</li>
            <li>DocumentType
                <br/>Each Document has a doctype attribute whose value is either null or a
                DocumentType object</li>
            <li>DOMImplementation
                <br/>The DOMImplementation interface provides  methods for performing
                operations independent of a particular document object model instance</li>
            <li>Element
                <br/>The majority of objects (apart from text) in a document are Element nodes</li>
            <li>Entity
                <br/>This interface represents an entity, either parsed or unparsed, in a XML
                document</li>
            <li>EntityReference
                <br/>EntityReference objects may be inserted into the structure model</li>
            <li>NamedNodeMap
                <br/>Objects implementing the NamedNodeMap interface are used to represent
                collections of nodes that can be accessed by name</li>
            <li>Node
                <br/>The Node interface is the primary datatype for the entire Document Object
                Model</li>
            <li>NodeList
                <br/>The NodeList interface provides the abstraction of an ordered collection
                of nodes</li>
            <li>Notation
                <br/>This interface represents a notation declared in the DTD</li>
            <li>ProcessingInstruction
                <br/>The ProcessingInstruction is a way to keep processor-specific
                information in the text of the document</li>
            <li>Text
                <br/>The Text interface represents the textual content (termed character data in
                XML) of an Element or Attr</li>
        </ul>
      </s4>
      <s4 title="Exceptions">
        <ul>
            <li>DOMException
            <br/>Encapsulate an "exceptional" DOM error </li>
        </ul>
      </s4>
    </s3>
    <s3 title="Package org.xml.sax">
      <s4 title="Classes">
        <ul>
            <li>HandlerBase
                <br/>Default base class for handlers</li>
            <li>InputSource
                <br/>A single input source for an XML entity </li>
        </ul>
      </s4>
      <s4 title="Interfaces">
        <ul>
            <li>AttributeList
                <br/>Interface for an element's attribute specifications</li>
            <li>DocumentHandler
                <br/>Receive notification of general document events</li>
            <li>DTDHandler
                <br/>Receive notification of basic DTD-related events</li>
            <li>EntityResolver
                <br/>Basic interface for resolving entities</li>
            <li>ErrorHandler
                <br/>Basic interface for SAX error handlers </li>
            <li>Locator
                <br/>Interface for associating a SAX event with a document location</li>
            <li>Parser
                <br/>Basic interface for SAX (Simple API for XML) parsers</li>
        </ul>
      </s4>
      <s4 title="Exceptions">
        <ul>
            <li>SAXException
                <br/>Encapsulate a general SAX error or warning</li>
            <li>SAXParseException
                <br/>Encapsulate an XML parse error or warning </li>
        </ul>
      </s4>
    </s3>
    <s3 title="Package org.xml.sax.helpers">
      <s4 title="Classes">
        <ul>
            <li>AttributeListImpl
                <br/>Convenience implementation for AttributeList</li>
            <li>LocatorImpl
                <br/>Convenience implementation for Locator</li>
            <li>ParserFactory
                <br/>Java-specific class for dynamically loading SAX parsers</li>
        </ul>
      </s4>
   </s3>
    <s3 title="Package org.apache.xerces.dom.traversal">
      <s4 title="Classes">
        <ul>
            <li>DocumentTraversal
                <br/>DocumentTraversal contains methods that creates Iterators to traverse a
                node and its children</li>
            <li>DocumentTWIF
                <br/>DocumentTWIF contains methods that create Iterators to traverse a node
                and its children</li>
            <li>NodeFilter
                <br/>Filters are objects that know how to "filter out" nodes</li>
            <li>NodeIterator
                <br/>NodeIterators are used to step through a set of nodes</li>
            <li>TreeWalker
                <br/>TreeWalker objects are used to navigate a document tree or subtree using
                the view of the document </li>
        </ul>
      </s4>
    </s3>
  </s2>
</s1>
