org.apache.xerces.util
Class DOMUtil

java.lang.Object
  extended by org.apache.xerces.util.DOMUtil

public class DOMUtil
extends java.lang.Object

Some useful utility methods. This class was modified in Xerces2 with a view to abstracting as much as possible away from the representation of the underlying parsed structure (i.e., the DOM). This was done so that, if Xerces ever adopts an in-memory representation more efficient than the DOM (such as a DTM), we should easily be able to convert our schema parsing to utilize it.

Version:
$Id: DOMUtil.java 447948 2006-09-19 20:20:53Z mrglavas $

Method Summary
static void copyInto(Node src, Node dest)
          Copies the source tree into the specified place in a destination tree.
static DOMException createDOMException(short code, java.lang.Throwable cause)
          Creates a DOMException.
static LSException createLSException(short code, java.lang.Throwable cause)
          Creates an LSException.
static java.lang.String getAnnotation(Node node)
           
static Attr getAttr(Element elem, java.lang.String name)
           
static Attr getAttrNS(Element elem, java.lang.String nsUri, java.lang.String localName)
           
static Attr[] getAttrs(Element elem)
           
static java.lang.String getAttrValue(Element elem, java.lang.String name)
           
static java.lang.String getAttrValueNS(Element elem, java.lang.String nsUri, java.lang.String localName)
           
static java.lang.String getChildText(Node node)
          Returns the concatenated child text of the specified node.
static Document getDocument(Node node)
           
static Element getFirstChildElement(Node parent)
          Finds and returns the first child element node.
static Element getFirstChildElement(Node parent, java.lang.String elemName)
          Finds and returns the first child node with the given name.
static Element getFirstChildElement(Node parent, java.lang.String[] elemNames)
          Finds and returns the first child node with the given name.
static Element getFirstChildElement(Node parent, java.lang.String elemName, java.lang.String attrName, java.lang.String attrValue)
          Finds and returns the first child node with the given name and attribute name, value pair.
static Element getFirstChildElementNS(Node parent, java.lang.String[][] elemNames)
          Finds and returns the first child node with the given qualified name.
static Element getFirstChildElementNS(Node parent, java.lang.String uri, java.lang.String localpart)
          Finds and returns the first child node with the given qualified name.
static Element getFirstVisibleChildElement(Node parent)
          Finds and returns the first visible child element node.
static Element getFirstVisibleChildElement(Node parent, java.util.Hashtable hiddenNodes)
          Finds and returns the first visible child element node.
static Element getLastChildElement(Node parent)
          Finds and returns the last child element node.
static Element getLastChildElement(Node parent, java.lang.String elemName)
          Finds and returns the last child node with the given name.
static Element getLastChildElement(Node parent, java.lang.String[] elemNames)
          Finds and returns the last child node with the given name.
static Element getLastChildElement(Node parent, java.lang.String elemName, java.lang.String attrName, java.lang.String attrValue)
          Finds and returns the last child node with the given name and attribute name, value pair.
static Element getLastChildElementNS(Node parent, java.lang.String[][] elemNames)
          Finds and returns the last child node with the given qualified name.
static Element getLastChildElementNS(Node parent, java.lang.String uri, java.lang.String localpart)
          Finds and returns the last child node with the given qualified name.
static Element getLastVisibleChildElement(Node parent)
          Finds and returns the last visible child element node.
static Element getLastVisibleChildElement(Node parent, java.util.Hashtable hiddenNodes)
          Finds and returns the last visible child element node.
static java.lang.String getLocalName(Node node)
          returns local name of this element if not null, otherwise returns the name of the node
static java.lang.String getName(Node node)
           
static java.lang.String getNamespaceURI(Node node)
           
static Element getNextSiblingElement(Node node)
          Finds and returns the next sibling element node.
static Element getNextSiblingElement(Node node, java.lang.String elemName)
          Finds and returns the next sibling node with the given name.
static Element getNextSiblingElement(Node node, java.lang.String[] elemNames)
          Finds and returns the next sibling node with the given name.
static Element getNextSiblingElement(Node node, java.lang.String elemName, java.lang.String attrName, java.lang.String attrValue)
          Finds and returns the next sibling node with the given name and attribute name, value pair.
static Element getNextSiblingElementNS(Node node, java.lang.String[][] elemNames)
          Finds and returns the next sibling node with the given qualified name.
static Element getNextSiblingElementNS(Node node, java.lang.String uri, java.lang.String localpart)
          Finds and returns the next sibling node with the given qualified name.
static Element getNextVisibleSiblingElement(Node node)
           
static Element getNextVisibleSiblingElement(Node node, java.util.Hashtable hiddenNodes)
           
static Element getParent(Element elem)
           
static java.lang.String getPrefix(Node node)
           
static Element getRoot(Document doc)
           
static java.lang.String getSyntheticAnnotation(Node node)
           
static java.lang.String getValue(Attr attribute)
           
static boolean isHidden(Node node)
           
static boolean isHidden(Node node, java.util.Hashtable hiddenNodes)
           
static void setHidden(Node node)
           
static void setHidden(Node node, java.util.Hashtable hiddenNodes)
           
static void setVisible(Node node)
           
static void setVisible(Node node, java.util.Hashtable hiddenNodes)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

copyInto

public static void copyInto(Node src,
                            Node dest)
                     throws DOMException
Copies the source tree into the specified place in a destination tree. The source node and its children are appended as children of the destination node.

Note: This is an iterative implementation.

Throws:
DOMException

getFirstChildElement

public static Element getFirstChildElement(Node parent)
Finds and returns the first child element node.


getFirstVisibleChildElement

public static Element getFirstVisibleChildElement(Node parent)
Finds and returns the first visible child element node.


getFirstVisibleChildElement

public static Element getFirstVisibleChildElement(Node parent,
                                                  java.util.Hashtable hiddenNodes)
Finds and returns the first visible child element node.


getLastChildElement

public static Element getLastChildElement(Node parent)
Finds and returns the last child element node. Overload previous method for non-Xerces node impl.


getLastVisibleChildElement

public static Element getLastVisibleChildElement(Node parent)
Finds and returns the last visible child element node.


getLastVisibleChildElement

public static Element getLastVisibleChildElement(Node parent,
                                                 java.util.Hashtable hiddenNodes)
Finds and returns the last visible child element node. Overload previous method for non-Xerces node impl


getNextSiblingElement

public static Element getNextSiblingElement(Node node)
Finds and returns the next sibling element node.


getNextVisibleSiblingElement

public static Element getNextVisibleSiblingElement(Node node)

getNextVisibleSiblingElement

public static Element getNextVisibleSiblingElement(Node node,
                                                   java.util.Hashtable hiddenNodes)

setHidden

public static void setHidden(Node node)

setHidden

public static void setHidden(Node node,
                             java.util.Hashtable hiddenNodes)

setVisible

public static void setVisible(Node node)

setVisible

public static void setVisible(Node node,
                              java.util.Hashtable hiddenNodes)

isHidden

public static boolean isHidden(Node node)

isHidden

public static boolean isHidden(Node node,
                               java.util.Hashtable hiddenNodes)

getFirstChildElement

public static Element getFirstChildElement(Node parent,
                                           java.lang.String elemName)
Finds and returns the first child node with the given name.


getLastChildElement

public static Element getLastChildElement(Node parent,
                                          java.lang.String elemName)
Finds and returns the last child node with the given name.


getNextSiblingElement

public static Element getNextSiblingElement(Node node,
                                            java.lang.String elemName)
Finds and returns the next sibling node with the given name.


getFirstChildElementNS

public static Element getFirstChildElementNS(Node parent,
                                             java.lang.String uri,
                                             java.lang.String localpart)
Finds and returns the first child node with the given qualified name.


getLastChildElementNS

public static Element getLastChildElementNS(Node parent,
                                            java.lang.String uri,
                                            java.lang.String localpart)
Finds and returns the last child node with the given qualified name.


getNextSiblingElementNS

public static Element getNextSiblingElementNS(Node node,
                                              java.lang.String uri,
                                              java.lang.String localpart)
Finds and returns the next sibling node with the given qualified name.


getFirstChildElement

public static Element getFirstChildElement(Node parent,
                                           java.lang.String[] elemNames)
Finds and returns the first child node with the given name.


getLastChildElement

public static Element getLastChildElement(Node parent,
                                          java.lang.String[] elemNames)
Finds and returns the last child node with the given name.


getNextSiblingElement

public static Element getNextSiblingElement(Node node,
                                            java.lang.String[] elemNames)
Finds and returns the next sibling node with the given name.


getFirstChildElementNS

public static Element getFirstChildElementNS(Node parent,
                                             java.lang.String[][] elemNames)
Finds and returns the first child node with the given qualified name.


getLastChildElementNS

public static Element getLastChildElementNS(Node parent,
                                            java.lang.String[][] elemNames)
Finds and returns the last child node with the given qualified name.


getNextSiblingElementNS

public static Element getNextSiblingElementNS(Node node,
                                              java.lang.String[][] elemNames)
Finds and returns the next sibling node with the given qualified name.


getFirstChildElement

public static Element getFirstChildElement(Node parent,
                                           java.lang.String elemName,
                                           java.lang.String attrName,
                                           java.lang.String attrValue)
Finds and returns the first child node with the given name and attribute name, value pair.


getLastChildElement

public static Element getLastChildElement(Node parent,
                                          java.lang.String elemName,
                                          java.lang.String attrName,
                                          java.lang.String attrValue)
Finds and returns the last child node with the given name and attribute name, value pair.


getNextSiblingElement

public static Element getNextSiblingElement(Node node,
                                            java.lang.String elemName,
                                            java.lang.String attrName,
                                            java.lang.String attrValue)
Finds and returns the next sibling node with the given name and attribute name, value pair. Since only elements have attributes, the node returned will be of type Node.ELEMENT_NODE.


getChildText

public static java.lang.String getChildText(Node node)
Returns the concatenated child text of the specified node. This method only looks at the immediate children of type Node.TEXT_NODE or the children of any child node that is of type Node.CDATA_SECTION_NODE for the concatenation.

Parameters:
node - The node to look at.

getName

public static java.lang.String getName(Node node)

getLocalName

public static java.lang.String getLocalName(Node node)
returns local name of this element if not null, otherwise returns the name of the node


getParent

public static Element getParent(Element elem)

getDocument

public static Document getDocument(Node node)

getRoot

public static Element getRoot(Document doc)

getAttr

public static Attr getAttr(Element elem,
                           java.lang.String name)

getAttrNS

public static Attr getAttrNS(Element elem,
                             java.lang.String nsUri,
                             java.lang.String localName)

getAttrs

public static Attr[] getAttrs(Element elem)

getValue

public static java.lang.String getValue(Attr attribute)

getAttrValue

public static java.lang.String getAttrValue(Element elem,
                                            java.lang.String name)

getAttrValueNS

public static java.lang.String getAttrValueNS(Element elem,
                                              java.lang.String nsUri,
                                              java.lang.String localName)

getPrefix

public static java.lang.String getPrefix(Node node)

getNamespaceURI

public static java.lang.String getNamespaceURI(Node node)

getAnnotation

public static java.lang.String getAnnotation(Node node)

getSyntheticAnnotation

public static java.lang.String getSyntheticAnnotation(Node node)

createDOMException

public static DOMException createDOMException(short code,
                                              java.lang.Throwable cause)
Creates a DOMException. On J2SE 1.4 and above the cause for the exception will be set.


createLSException

public static LSException createLSException(short code,
                                            java.lang.Throwable cause)
Creates an LSException. On J2SE 1.4 and above the cause for the exception will be set.