org.apache.xml.utils

## Class DOM2Helper

- java.lang.Object
- - org.apache.xml.utils.DOMHelper
  - - org.apache.xml.utils.DOM2Helper

Deprecated.
Since the introduction of the DTM, this class will be removed. This class provides a DOM level 2 "helper", which provides services currently not provided be the DOM standard.

    public class DOM2Helper
    extends DOMHelper

### Constructor Summary

Constructors
Constructor and Description
`DOM2Helper()` Deprecated. Construct an instance.

### Method Summary

Methods
`void` `checkNode(Node node)` Deprecated. Check node to see if it was created by a DOM implementation that this helper is intended to support.
`Document` `getDocument()` Deprecated. Query which document this helper is currently operating on.
`Element` `getElementByID(java.lang.String id, Document doc)` Deprecated. Given an XML ID, return the element.
`java.lang.String` `getLocalNameOfNode(Node n)` Deprecated. Returns the local name of the given node, as defined by the XML Namespaces specification.
`java.lang.String` `getNamespaceOfNode(Node n)` Deprecated. Returns the Namespace Name (Namespace URI) for the given node.
`static Node` `getParentOfNode(Node node)` Deprecated. Get the XPath-model parent of a node.
`static boolean` `isNodeAfter(Node node1, Node node2)` Deprecated. Figure out whether node2 should be considered as being later in the document than node1, in Document Order as defined by the XPath model.
`void` `parse(InputSource source)` Deprecated. Parse an XML document.
`void` `setDocument(Document doc)` Deprecated. Specify which document this helper is currently operating on.
`boolean` `supportsSAX()` Deprecated. Returns true if the DOM implementation handled by this helper supports the SAX ContentHandler interface.

### Methods inherited from class org.apache.xml.utils.DOMHelper

`createDocument, createDocument, getDOMFactory, getExpandedAttributeName, getExpandedElementName, getLevel, getNamespaceForPrefix, getNodeData, getNodeData, getRoot, getRootNode, getUniqueID, getUnparsedEntityURI, isIgnorableWhitespace, isNamespaceNode, isNodeTheSame, setDOMFactory, shouldStripSourceNode`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DOM2Helper

    public DOM2Helper()

Deprecated.
Construct an instance.

### Method Detail

#### checkNode

    public void checkNode(Node node)
                   throws TransformerException

Deprecated.
Check node to see if it was created by a DOM implementation that this helper is intended to support. This is currently disabled, and assumes all nodes are acceptable rather than checking that they implement org.apache.xerces.dom.NodeImpl.

Parameters:
  `node` - The node to be tested.
Throws:
  `TransformerException` - if the node is not one which this DOM2Helper can support. If we return without throwing the exception, the node is compatable.
Usage:
  **For internal use only**

#### supportsSAX

    public boolean supportsSAX()

Deprecated.
Returns true if the DOM implementation handled by this helper supports the SAX ContentHandler interface.

Returns:
  true (since Xerces does).

#### setDocument

    public void setDocument(Document doc)

Deprecated.
Specify which document this helper is currently operating on.

Parameters:
  `doc` - The DOM Document node for this document.
See Also:
  `getDocument()`

#### getDocument

    public Document getDocument()

Deprecated.
Query which document this helper is currently operating on.

Returns:
  The DOM Document node for this document.
See Also:
  `setDocument(org.w3c.dom.Document)`

#### parse

    public void parse(InputSource source)
               throws TransformerException

Deprecated.
Parse an XML document.

Right now the Xerces DOMParser class is used. This needs fixing, either via jaxp, or via some other, standard method.

The application can use this method to instruct the SAX parser to begin parsing an XML document from any valid input source (a character stream, a byte stream, or a URI).

Applications may not invoke this method while a parse is in progress (they should create a new Parser instead for each additional XML document). Once a parse is complete, an application may reuse the same Parser object, possibly with a different input source.

Parameters:
  `source` - The input source for the top-level of the XML document.
Throws:
  `TransformerException` - if any checked exception is thrown.
Usage:
  **For internal use only**

#### getElementByID

    public Element getElementByID(java.lang.String id,
                         Document doc)

Deprecated.
Given an XML ID, return the element. This requires assistance from the DOM and parser, and is meaningful only in the context of a DTD or schema which declares attributes as being of type ID. This information may or may not be available in all parsers, may or may not be available for specific documents, and may or may not be available when validation is not turned on.

Overrides:
  `getElementByID` in class `DOMHelper`
Parameters:
  `id` - The ID to search for, as a String.
  `doc` - The document to search within, as a DOM Document node.
Returns:
  DOM Element node with an attribute of type ID whose value uniquely matches the requested id string, or null if there isn't such an element or if the DOM can't answer the question for other reasons.

#### isNodeAfter

    public static boolean isNodeAfter(Node node1,
                      Node node2)

Deprecated.
Figure out whether node2 should be considered as being later in the document than node1, in Document Order as defined by the XPath model. This may not agree with the ordering defined by other XML applications.

There are some cases where ordering isn't defined, and neither are the results of this function -- though we'll generally return true.

TODO: Make sure this does the right thing with attribute nodes!!!

Parameters:
  `node1` - DOM Node to perform position comparison on.
  `node2` - DOM Node to perform position comparison on .
Returns:
  false if node2 comes before node1, otherwise return true. You can think of this as `(node1.documentOrderPosition <= node2.documentOrderPosition)`.

#### getParentOfNode

    public static Node getParentOfNode(Node node)

Deprecated.
Get the XPath-model parent of a node. This version takes advantage of the DOM Level 2 Attr.ownerElement() method; the base version we would otherwise inherit is prepared to fall back on exhaustively walking the document to find an Attr's parent.

Parameters:
  `node` - Node to be examined
Returns:
  the DOM parent of the input node, if there is one, or the ownerElement if the input node is an Attr, or null if the node is a Document, a DocumentFragment, or an orphan.

#### getLocalNameOfNode

    public java.lang.String getLocalNameOfNode(Node n)

Deprecated.
Returns the local name of the given node, as defined by the XML Namespaces specification. This is prepared to handle documents built using DOM Level 1 methods by falling back upon explicitly parsing the node name.

Overrides:
  `getLocalNameOfNode` in class `DOMHelper`
Parameters:
  `n` - Node to be examined
Returns:
  String containing the local name, or null if the node was not assigned a Namespace.

#### getNamespaceOfNode

    public java.lang.String getNamespaceOfNode(Node n)

Deprecated.
Returns the Namespace Name (Namespace URI) for the given node. In a Level 2 DOM, you can ask the node itself. Note, however, that doing so conflicts with our decision in getLocalNameOfNode not to trust the that the DOM was indeed created using the Level 2 methods. If Level 1 methods were used, these two functions will disagree with each other.

TODO: Reconcile with getLocalNameOfNode.

Overrides:
  `getNamespaceOfNode` in class `DOMHelper`
Parameters:
  `n` - Node to be examined
Returns:
  String containing the Namespace URI bound to this DOM node at the time the Node was created.