Enhydra 3.1 API

org.apache.xalan.xpath.dtm
Class DTMProxy

java.lang.Object
  |
  +--org.apache.xalan.xpath.dtm.DTMProxy

public class DTMProxy
extends java.lang.Object
implements Node, Document, Text, Element, Attr, ProcessingInstruction, Comment

DTMProxy presents a DOM Node API front-end to the DTM model.

It does _not_ attempt to address the "node identity" question; no effort is made to prevent the creation of multiple proxies referring to a single DTM node. Users can create a mechanism for managing this, or relinquish the use of "==" and use the .sameNodeAs() mechanism, which is under consideration for future versions of the DOM.

DTMProxy may be subclassed further to present specific DOM node types.

See Also:
org.w3c.dom

Field Summary
 DTM dtm
           
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Method Summary
 Node appendChild(Node newChild)
          Adds the node newChild to the end of the list of children of this node.
 void appendData(java.lang.String arg)
          Append the string to the end of the character data of the node.
 Node cloneNode(boolean deep)
          Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
 Attr createAttribute(java.lang.String name)
          Creates an Attr of the given name.
 Attr createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
          Creates an attribute of the given qualified name and namespace URI.
 CDATASection createCDATASection(java.lang.String data)
          Creates a CDATASection node whose value is the specified string.
 Comment createComment(java.lang.String data)
          Creates a Comment node given the specified string.
 DocumentFragment createDocumentFragment()
          Creates an empty DocumentFragment object.
 Element createElement(java.lang.String tagName)
          Creates an element of the type specified.
 Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
          Creates an element of the given qualified name and namespace URI.
 EntityReference createEntityReference(java.lang.String name)
          Creates an EntityReference object.
 ProcessingInstruction createProcessingInstruction(java.lang.String target, java.lang.String data)
          Creates a ProcessingInstruction node given the specified name and data strings.
 Text createTextNode(java.lang.String data)
          Creates a Text node given the specified string.
 void deleteData(int offset, int count)
          Remove a range of 16-bit units from the node.
 boolean equals(Node node)
          Test for equality based on node number.
 boolean equals(java.lang.Object node)
          Test for equality based on node number.
 java.lang.String getAttribute(java.lang.String name)
          Retrieves an attribute value by name.
 Attr getAttributeNode(java.lang.String name)
          Retrieves an attribute node by name.
 Attr getAttributeNodeNS(java.lang.String namespaceURI, java.lang.String localName)
          Retrieves an Attr node by local name and namespace URI.
 java.lang.String getAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
          Retrieves an attribute value by local name and namespace URI.
 NamedNodeMap getAttributes()
          A NamedNodeMap containing the attributes of this node (if it is an Element ) or null otherwise.
 NodeList getChildNodes()
          A NodeList that contains all children of this node.
 java.lang.String getData()
          The content of this processing instruction.
 DocumentType getDoctype()
          The Document Type Declaration (see DocumentType ) associated with this document.
 Element getDocumentElement()
          This is a convenience attribute that allows direct access to the child node that is the root element of the document.
 DTM getDTM()
          NON-DOM: Return the DTM model
 int getDTMNodeNumber()
          NON-DOM: Return the DTM node number
 Element getElementById(java.lang.String elementId)
          Returns the Element whose ID is given by elementId .
 NodeList getElementsByTagName(java.lang.String tagname)
          Returns a NodeList of all the Elements with a given tag name in the order in which they would be encountered in a preorder traversal of the Document tree.
 NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
          Returns a NodeList of all the Elements with a given local name and namespace URI in the order in which they would be encountered in a preorder traversal of the Document tree.
 Node getFirstChild()
          The first child of this node.
 DOMImplementation getImplementation()
          The DOMImplementation object that handles this document.
 Node getLastChild()
          The last child of this node.
 int getLength()
          The number of 16-bit units that are available through data and the substringData method below.
 java.lang.String getLocalName()
          Returns the local part of the qualified name of this node.
 java.lang.String getName()
          Returns the name of this attribute.
 java.lang.String getNamespaceURI()
          The namespace URI of this node, or null if it is unspecified.
 Node getNextSibling()
          The node immediately following this node.
 java.lang.String getNodeName()
          The name of this node, depending on its type; see the table above.
 short getNodeType()
          A code representing the type of the underlying object, as defined above.
 java.lang.String getNodeValue()
          The value of this node, depending on its type; see the table above.
 Document getOwnerDocument()
          The Document object associated with this node.
 Element getOwnerElement()
          The Element node this attribute is attached to or null if this attribute is not in use.
 Node getOwnerNode()
           
 Node getParentNode()
          The parent of this node.
 java.lang.String getPrefix()
          The namespace prefix of this node, or null if it is unspecified.
 Node getPreviousSibling()
          The node immediately preceding this node.
 boolean getSpecified()
          If this attribute was explicitly given a value in the original document, this is true ; otherwise, it is false .
 java.lang.String getTagName()
          The name of the element.
 java.lang.String getTarget()
          A PI's "target" states what processor channel the PI's data should be directed to.
 java.lang.String getValue()
          On retrieval, the value of the attribute is returned as a string.
 boolean hasAttribute(java.lang.String name)
          Returns true when an attribute with a given name is specified on this element or has a default value, false otherwise.
 boolean hasAttributeNS(java.lang.String name, java.lang.String x)
          Returns true when an attribute with a given local name and namespace URI is specified on this element or has a default value, false otherwise.
 boolean hasAttributes()
          Introduced in DOM Level 2.
 boolean hasChildNodes()
          This is a convenience method to allow easy determination of whether a node has any children.
 Node importNode(Node importedNode, boolean deep)
          Imports a node from another document to this document.
 Node insertBefore(Node newChild, Node refChild)
          Inserts the node newChild before the existing child node refChild .
 void insertData(int offset, java.lang.String arg)
          Insert a string at the specified character offset.
 boolean isSupported(java.lang.String feature, java.lang.String version)
           
 void normalize()
          Puts all Text nodes in the full depth of the sub-tree underneath this Node , including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes.
 void removeAttribute(java.lang.String name)
          Removes an attribute by name.
 Attr removeAttributeNode(Attr oldAttr)
          Removes the specified attribute node.
 void removeAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
          Removes an attribute by local name and namespace URI.
 Node removeChild(Node oldChild)
          Removes the child node indicated by oldChild from the list of children, and returns it.
 Node replaceChild(Node newChild, Node oldChild)
          Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.
 void replaceData(int offset, int count, java.lang.String arg)
          Replace the characters starting at the specified 16-bit unit offset with the specified string.
 boolean sameNodeAs(Node other)
          FUTURE DOM: Test node identity, in lieu of Node==Node
 void setAttribute(java.lang.String name, java.lang.String value)
          Adds a new attribute.
 Attr setAttributeNode(Attr newAttr)
          Adds a new attribute node.
 Attr setAttributeNodeNS(Attr newAttr)
          Adds a new attribute.
 void setAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String value)
          Adds a new attribute.
 void setData(java.lang.String data)
           
 void setNodeValue(java.lang.String nodeValue)
           
 void setPrefix(java.lang.String prefix)
           
 void setValue(java.lang.String value)
           
 Text splitText(int offset)
          Breaks this node into two nodes at the specified offset , keeping both in the tree as siblings.
 java.lang.String substringData(int offset, int count)
          Extracts a range of data from the node.
 boolean supports(java.lang.String feature, java.lang.String version)
          Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dtm

public DTM dtm
Method Detail

getDTM

public final DTM getDTM()
NON-DOM: Return the DTM model

getDTMNodeNumber

public final int getDTMNodeNumber()
NON-DOM: Return the DTM node number

equals

public final boolean equals(Node node)
Test for equality based on node number.

equals

public final boolean equals(java.lang.Object node)
Test for equality based on node number.
Overrides:
equals in class java.lang.Object

sameNodeAs

public final boolean sameNodeAs(Node other)
FUTURE DOM: Test node identity, in lieu of Node==Node

getNodeName

public final java.lang.String getNodeName()
Description copied from interface: Node
The name of this node, depending on its type; see the table above.
Specified by:
getNodeName in interface Node
See Also:
Node

getTarget

public final java.lang.String getTarget()
A PI's "target" states what processor channel the PI's data should be directed to. It is defined differently in HTML and XML.

In XML, a PI's "target" is the first (whitespace-delimited) token following the " In HTML, target is always null.

Note that getNodeName is aliased to getTarget.

Specified by:
getTarget in interface ProcessingInstruction

getLocalName

public final java.lang.String getLocalName()
Description copied from interface: Node
Returns the local part of the qualified name of this node.
For nodes created with a DOM Level 1 method, such as createElement from the Document interface, it is null .
Specified by:
getLocalName in interface Node
See Also:
as of DOM Level 2

getPrefix

public final java.lang.String getPrefix()
Description copied from interface: Node
The namespace prefix of this node, or null if it is unspecified.
Note that setting this attribute, when permitted, changes the nodeName attribute, which holds the qualified name , as well as the tagName and name attributes of the Element and Attr interfaces, when applicable.
Note also that changing the prefix of an attribute that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the namespaceURI and localName do not change.
Specified by:
getPrefix in interface Node
See Also:
as of DOM Level 2

setPrefix

public final void setPrefix(java.lang.String prefix)
                     throws DOMException
Specified by:
setPrefix in interface Node
See Also:
as of DOM Level 2 -- DTMProxy is read-only

getNamespaceURI

public final java.lang.String getNamespaceURI()
Description copied from interface: Node
The namespace URI of this node, or null if it is unspecified.
This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time.
For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null . Per the Namespaces in XML Specification an attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it simply has no namespace.
Specified by:
getNamespaceURI in interface Node
See Also:
as of DOM Level 2

supports

public final boolean supports(java.lang.String feature,
                              java.lang.String version)
Description copied from interface: Node
Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
Specified by:
supports in interface Node
See Also:
as of DOM Level 2

isSupported

public final boolean isSupported(java.lang.String feature,
                                 java.lang.String version)
See Also:
as of DOM Level 2

getNodeValue

public final java.lang.String getNodeValue()
                                    throws DOMException
Description copied from interface: Node
The value of this node, depending on its type; see the table above. When it is defined to be null , setting it has no effect.
Specified by:
getNodeValue in interface Node
See Also:
Node

setNodeValue

public final void setNodeValue(java.lang.String nodeValue)
                        throws DOMException
Specified by:
setNodeValue in interface Node
See Also:
-- DTMProxy is read-only

getNodeType

public final short getNodeType()
Description copied from interface: Node
A code representing the type of the underlying object, as defined above.
Specified by:
getNodeType in interface Node
See Also:
Node

getParentNode

public final Node getParentNode()
Description copied from interface: Node
The parent of this node. All nodes, except Attr , Document , DocumentFragment , Entity , and Notation may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is null .
Specified by:
getParentNode in interface Node
See Also:
Node

getOwnerNode

public final Node getOwnerNode()
See Also:
Node

getChildNodes

public final NodeList getChildNodes()
Description copied from interface: Node
A NodeList that contains all children of this node. If there are no children, this is a NodeList containing no nodes. The content of the returned NodeList is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the NodeList accessors; it is not a static snapshot of the content of the node. This is true for every NodeList , including the ones returned by the getElementsByTagName method.
Specified by:
getChildNodes in interface Node
See Also:
Node

getFirstChild

public final Node getFirstChild()
Description copied from interface: Node
The first child of this node. If there is no such node, this returns null .
Specified by:
getFirstChild in interface Node
See Also:
Node

getLastChild

public final Node getLastChild()
Description copied from interface: Node
The last child of this node. If there is no such node, this returns null .
Specified by:
getLastChild in interface Node
See Also:
Node

getPreviousSibling

public final Node getPreviousSibling()
Description copied from interface: Node
The node immediately preceding this node. If there is no such node, this returns null .
Specified by:
getPreviousSibling in interface Node
See Also:
Node

getNextSibling

public final Node getNextSibling()
Description copied from interface: Node
The node immediately following this node. If there is no such node, this returns null .
Specified by:
getNextSibling in interface Node
See Also:
Node

getAttributes

public final NamedNodeMap getAttributes()
Description copied from interface: Node
A NamedNodeMap containing the attributes of this node (if it is an Element ) or null otherwise.
Specified by:
getAttributes in interface Node
See Also:
Node

hasAttribute

public boolean hasAttribute(java.lang.String name)
Description copied from interface: Element
Returns true when an attribute with a given name is specified on this element or has a default value, false otherwise.
Specified by:
hasAttribute in interface Element
Tags copied from interface: Element
Parameters:
name - The name of the attribute to look for.
Returns:
true if an attribute with the given name is specified on this element or has a default value, false otherwise.

hasAttributeNS

public boolean hasAttributeNS(java.lang.String name,
                              java.lang.String x)
Description copied from interface: Element
Returns true when an attribute with a given local name and namespace URI is specified on this element or has a default value, false otherwise. HTML-only DOM implementations do not need to implement this method.
Specified by:
hasAttributeNS in interface Element
Tags copied from interface: Element
Parameters:
namespaceURI - The namespace URI of the attribute to look for.
localName - The local name of the attribute to look for.
Returns:
true if an attribute with the given local name and namespace URI is specified or has a default value on this element, false otherwise.

getOwnerDocument

public final Document getOwnerDocument()
Description copied from interface: Node
The Document object associated with this node. This is also the Document object used to create new nodes. When this node is a Document or a DocumentType which is not used with any Document yet, this is null .
Specified by:
getOwnerDocument in interface Node
See Also:
Node

insertBefore

public final Node insertBefore(Node newChild,
                               Node refChild)
                        throws DOMException
Description copied from interface: Node
Inserts the node newChild before the existing child node refChild . If refChild is null , insert newChild at the end of the list of children.
If newChild is a DocumentFragment object, all of its children are inserted, in the same order, before refChild . If the newChild is already in the tree, it is first removed.
Specified by:
insertBefore in interface Node
See Also:
-- DTMProxy is read-only

replaceChild

public final Node replaceChild(Node newChild,
                               Node oldChild)
                        throws DOMException
Description copied from interface: Node
Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.
If newChild is a DocumentFragment object, oldChild is replaced by all of the DocumentFragment children, which are inserted in the same order. If the newChild is already in the tree, it is first removed.
Specified by:
replaceChild in interface Node
See Also:
-- DTMProxy is read-only

removeChild

public final Node removeChild(Node oldChild)
                       throws DOMException
Description copied from interface: Node
Removes the child node indicated by oldChild from the list of children, and returns it.
Specified by:
removeChild in interface Node
See Also:
-- DTMProxy is read-only

appendChild

public final Node appendChild(Node newChild)
                       throws DOMException
Description copied from interface: Node
Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed.
Specified by:
appendChild in interface Node
See Also:
-- DTMProxy is read-only

hasChildNodes

public final boolean hasChildNodes()
Description copied from interface: Node
This is a convenience method to allow easy determination of whether a node has any children.
Specified by:
hasChildNodes in interface Node
See Also:
Node

cloneNode

public final Node cloneNode(boolean deep)
Description copied from interface: Node
Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent; ( parentNode returns null .).
Cloning an Element copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child Text node. Cloning any other type of node simply returns a copy of this node.
Note that cloning an immutable subtree results in a mutable copy, but the children of an EntityReference clone are readonly.
Specified by:
cloneNode in interface Node
See Also:
-- DTMProxy is read-only

getDoctype

public final DocumentType getDoctype()
Description copied from interface: Document
The Document Type Declaration (see DocumentType ) associated with this document. For HTML documents as well as XML documents without a document type declaration this returns null . The DOM Level 2 does not support editing the Document Type Declaration, therefore docType cannot be altered in any way, including through the use of methods, such as insertNode or removeNode , inherited from Node .
Specified by:
getDoctype in interface Document
See Also:
Document

getImplementation

public final DOMImplementation getImplementation()
Description copied from interface: Document
The DOMImplementation object that handles this document. A DOM application may use objects from multiple implementations.
Specified by:
getImplementation in interface Document
See Also:
Document

getDocumentElement

public final Element getDocumentElement()
Description copied from interface: Document
This is a convenience attribute that allows direct access to the child node that is the root element of the document. For HTML documents, this is the element with the tagName "HTML".
Specified by:
getDocumentElement in interface Document
See Also:
Document

createElement

public final Element createElement(java.lang.String tagName)
                            throws DOMException
Description copied from interface: Document
Creates an element of the type specified. Note that the instance returned implements the Element interface, so attributes can be specified directly on the returned object.
In addition, if there are known attributes with default values, Attr nodes representing them are automatically created and attached to the element.
To create an element with a qualified name and namespace URI, use the createElementNS method.
Specified by:
createElement in interface Document
See Also:
Document

createDocumentFragment

public final DocumentFragment createDocumentFragment()
Description copied from interface: Document
Creates an empty DocumentFragment object.
Specified by:
createDocumentFragment in interface Document
See Also:
Document

createTextNode

public final Text createTextNode(java.lang.String data)
Description copied from interface: Document
Creates a Text node given the specified string.
Specified by:
createTextNode in interface Document
See Also:
Document

createComment

public final Comment createComment(java.lang.String data)
Description copied from interface: Document
Creates a Comment node given the specified string.
Specified by:
createComment in interface Document
See Also:
Document

createCDATASection

public final CDATASection createCDATASection(java.lang.String data)
                                      throws DOMException
Description copied from interface: Document
Creates a CDATASection node whose value is the specified string.
Specified by:
createCDATASection in interface Document
See Also:
Document

createProcessingInstruction

public final ProcessingInstruction createProcessingInstruction(java.lang.String target,
                                                               java.lang.String data)
                                                        throws DOMException
Description copied from interface: Document
Creates a ProcessingInstruction node given the specified name and data strings.
Specified by:
createProcessingInstruction in interface Document
See Also:
Document

createAttribute

public final Attr createAttribute(java.lang.String name)
                           throws DOMException
Description copied from interface: Document
Creates an Attr of the given name. Note that the Attr instance can then be set on an Element using the setAttribute method.
To create an attribute with a qualified name and namespace URI, use the createAttributeNS method.
Specified by:
createAttribute in interface Document
See Also:
Document

createEntityReference

public final EntityReference createEntityReference(java.lang.String name)
                                            throws DOMException
Description copied from interface: Document
Creates an EntityReference object. In addition, if the referenced entity is known, the child list of the EntityReference node is made the same as that of the corresponding Entity node. If any descendant of the Entity node has an unbound namespace prefix , the corresponding descendant of the created EntityReference node is also unbound; (its namespaceURI is null ). The DOM Level 2 does not support any mechanism to resolve namespace prefixes.
Specified by:
createEntityReference in interface Document
See Also:
Document

getElementsByTagName

public final NodeList getElementsByTagName(java.lang.String tagname)
Description copied from interface: Document
Returns a NodeList of all the Elements with a given tag name in the order in which they would be encountered in a preorder traversal of the Document tree.
Specified by:
getElementsByTagName in interface Document
See Also:
Document

importNode

public final Node importNode(Node importedNode,
                             boolean deep)
                      throws DOMException
Description copied from interface: Document
Imports a node from another document to this document. The returned node has no parent; (parentNode is null ). The source node is not altered or removed from the original document; this method creates a new copy of the source node.
For all nodes, importing a node creates a node object owned by the importing document, with attribute values identical to the source node's nodeName and nodeType , plus the attributes related to namespaces (prefix , localName , and namespaceURI ). As in the cloneNode operation on a Node , the source node is not altered.
Additional information is copied as appropriate to the nodeType , attempting to mirror the behavior expected if a fragment of XML or HTML source was copied from one document to another, recognizing that the two documents may have different DTDs in the XML case. The following list describes the specifics for every type of node.
ELEMENT_NODE
Specified attribute nodes of the source element are imported, and the generated Attr nodes are attached to the generated Element . Default attributes are not copied, though if the document being imported into defines default attributes for this element name, those are assigned. If the importNode deep parameter was set to true , the descendants of the source element will be recursively imported and the resulting nodes reassembled to form the corresponding subtree.
ATTRIBUTE_NODE
The specified flag is set to true on the generated Attr . The descendants of the source Attr are recursively imported and the resulting nodes reassembled to form the corresponding subtree. Note that the deep parameter does not apply to Attr nodes; they always carry their children with them when imported.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
These three types of nodes inheriting from CharacterData copy their data and length attributes from those of the source node.
ENTITY_REFERENCE_NODE
Only the EntityReference itself is copied, even if a deep import is requested, since the source and destination documents might have defined the entity differently. If the document being imported into provides a definition for this entity name, its value is assigned.
ENTITY_NODE
Entity nodes can be imported, however in the current release of the DOM the DocumentType is readonly. Ability to add these imported nodes to a DocumentType will be considered for addition to a future release of the DOM. On import, the publicId , systemId , and notationName attributes are copied. If a deep import is requested, the descendants of the the source Entity is recursively imported and the resulting nodes reassembled to form the corresponding subtree.
PROCESSING_INSTRUCTION_NODE
The imported node copies its target and data values from those of the source node.
DOCUMENT_NODE
Document nodes cannot be imported.
DOCUMENT_TYPE_NODE
DocumentType nodes cannot be imported.
DOCUMENT_FRAGMENT_NODE
If the deep option was set true , the descendants of the source element will be recursively imported and the resulting nodes reassembled to form the corresponding subtree. Otherwise, this simply generates an empty DocumentFragment .
NOTATION_NODE
Notation nodes can be imported, however in the current release of the DOM the DocumentType is readonly. Ability to add these imported nodes to a DocumentType will be considered for addition to a future release of the DOM. On import, the publicId and systemId attributes are copied. Note that the deep parameter does not apply to Notation nodes since they never have any children.
Specified by:
importNode in interface Document
See Also:
as of DOM Level 2 -- DTMProxy is read-only

createElementNS

public final Element createElementNS(java.lang.String namespaceURI,
                                     java.lang.String qualifiedName)
                              throws DOMException
Description copied from interface: Document
Creates an element of the given qualified name and namespace URI. HTML-only DOM implementations do not need to implement this method.
Specified by:
createElementNS in interface Document
See Also:
as of DOM Level 2

createAttributeNS

public final Attr createAttributeNS(java.lang.String namespaceURI,
                                    java.lang.String qualifiedName)
                             throws DOMException
Description copied from interface: Document
Creates an attribute of the given qualified name and namespace URI. HTML-only DOM implementations do not need to implement this method.
Specified by:
createAttributeNS in interface Document
See Also:
as of DOM Level 2

getElementsByTagNameNS

public final NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                             java.lang.String localName)
Description copied from interface: Document
Returns a NodeList of all the Elements with a given local name and namespace URI in the order in which they would be encountered in a preorder traversal of the Document tree.
Specified by:
getElementsByTagNameNS in interface Document
See Also:
as of DOM Level 2

getElementById

public final Element getElementById(java.lang.String elementId)
Description copied from interface: Document
Returns the Element whose ID is given by elementId . If no such element exists, returns null . Behavior is not defined if more than one element has this ID . The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "ID" are not of type ID unless so defined. Implementations that do not know whether attributes are of type ID or not are expected to return null .
Specified by:
getElementById in interface Document
See Also:
as of DOM Level 2

splitText

public final Text splitText(int offset)
                     throws DOMException
Description copied from interface: Text
Breaks this node into two nodes at the specified offset , keeping both in the tree as siblings. This node then only contains all the content up to the offset point. A new node of the same type, which is inserted as the next sibling of this node, contains all the content at and after the offset point. When the offset is equal to the length of this node, the new node has no data.
Specified by:
splitText in interface Text
See Also:
Text

getData

public final java.lang.String getData()
                               throws DOMException
Description copied from interface: ProcessingInstruction
The content of this processing instruction. This is from the first non white space character after the target to the character immediately preceding the ?> .
Specified by:
getData in interface ProcessingInstruction
See Also:
CharacterData

setData

public final void setData(java.lang.String data)
                   throws DOMException
Specified by:
setData in interface ProcessingInstruction
See Also:
CharacterData

getLength

public final int getLength()
Description copied from interface: CharacterData
The number of 16-bit units that are available through data and the substringData method below. This may have the value zero, i.e., CharacterData nodes may be empty.
See Also:
CharacterData

substringData

public final java.lang.String substringData(int offset,
                                            int count)
                                     throws DOMException
Description copied from interface: CharacterData
Extracts a range of data from the node.
See Also:
CharacterData

appendData

public final void appendData(java.lang.String arg)
                      throws DOMException
Description copied from interface: CharacterData
Append the string to the end of the character data of the node. Upon success, data provides access to the concatenation of data and the DOMString specified.
See Also:
CharacterData

insertData

public final void insertData(int offset,
                             java.lang.String arg)
                      throws DOMException
Description copied from interface: CharacterData
Insert a string at the specified character offset.
See Also:
CharacterData

deleteData

public final void deleteData(int offset,
                             int count)
                      throws DOMException
Description copied from interface: CharacterData
Remove a range of 16-bit units from the node. Upon success, data and length reflect the change.
See Also:
CharacterData

replaceData

public final void replaceData(int offset,
                              int count,
                              java.lang.String arg)
                       throws DOMException
Description copied from interface: CharacterData
Replace the characters starting at the specified 16-bit unit offset with the specified string.
See Also:
CharacterData

getTagName

public final java.lang.String getTagName()
Description copied from interface: Element
The name of the element. For example, in:
 <elementExample id="demo"> 
         ... 
 </elementExample> ,
tagName has the value "elementExample" . Note that this is case-preserving in XML, as are all of the operations of the DOM. The HTML DOM returns the tagName of an HTML element in the canonical uppercase form, regardless of the case in the source HTML document.
Specified by:
getTagName in interface Element
See Also:
Element

getAttribute

public final java.lang.String getAttribute(java.lang.String name)
Description copied from interface: Element
Retrieves an attribute value by name.
Specified by:
getAttribute in interface Element
See Also:
Element

setAttribute

public final void setAttribute(java.lang.String name,
                               java.lang.String value)
                        throws DOMException
Description copied from interface: Element
Adds a new attribute. If an attribute with that name is already present in the element, its value is changed to be that of the value parameter. This value is a simple string; it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an Attr node plus any Text and EntityReference nodes, build the appropriate subtree, and use setAttributeNode to assign it as the value of an attribute.
To set an attribute with a qualified name and namespace URI, use the setAttributeNS method.
Specified by:
setAttribute in interface Element
See Also:
Element

removeAttribute

public final void removeAttribute(java.lang.String name)
                           throws DOMException
Description copied from interface: Element
Removes an attribute by name. If the removed attribute is known to have a default value, an attribute immediately appears containing the default value as well as the corresponding namespace URI, local name, and prefix when applicable.
To remove an attribute by local name and namespace URI, use the removeAttributeNS method.
Specified by:
removeAttribute in interface Element
See Also:
Element

getAttributeNode

public final Attr getAttributeNode(java.lang.String name)
Description copied from interface: Element
Retrieves an attribute node by name.
To retrieve an attribute node by qualified name and namespace URI, use the getAttributeNodeNS method.
Specified by:
getAttributeNode in interface Element
See Also:
Element

setAttributeNode

public final Attr setAttributeNode(Attr newAttr)
                            throws DOMException
Description copied from interface: Element
Adds a new attribute node. If an attribute with that name ( nodeName ) is already present in the element, it is replaced by the new one.
To add a new attribute node with a qualified name and namespace URI, use the setAttributeNodeNS method.
Specified by:
setAttributeNode in interface Element
See Also:
Element

removeAttributeNode

public final Attr removeAttributeNode(Attr oldAttr)
                               throws DOMException
Description copied from interface: Element
Removes the specified attribute node. If the removed Attr has a default value it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix, when applicable.
Specified by:
removeAttributeNode in interface Element
See Also:
Element

hasAttributes

public boolean hasAttributes()
Introduced in DOM Level 2.
Specified by:
hasAttributes in interface Node
Tags copied from interface: Node
Returns:
true if this node has any attributes, false otherwise.

normalize

public final void normalize()
Description copied from interface: Node
Puts all Text nodes in the full depth of the sub-tree underneath this Node , including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text nodes. This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used. In cases where the document contains CDATASections , the normalize operation alone may not be sufficient, since XPointers do not differentiate between Text nodes and CDATASection nodes.
Specified by:
normalize in interface Node
See Also:
Element

getAttributeNS

public final java.lang.String getAttributeNS(java.lang.String namespaceURI,
                                             java.lang.String localName)
Description copied from interface: Element
Retrieves an attribute value by local name and namespace URI. HTML-only DOM implementations do not need to implement this method.
Specified by:
getAttributeNS in interface Element
See Also:
Element

setAttributeNS

public final void setAttributeNS(java.lang.String namespaceURI,
                                 java.lang.String qualifiedName,
                                 java.lang.String value)
                          throws DOMException
Description copied from interface: Element
Adds a new attribute. If an attribute with the same local name and namespace URI is already present on the element, its prefix is changed to be the prefix part of the qualifiedName , and its value is changed to be the value parameter. This value is a simple string; it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an Attr node plus any Text and EntityReference nodes, build the appropriate subtree, and use setAttributeNodeNS or setAttributeNode to assign it as the value of an attribute.
HTML-only DOM implementations do not need to implement this method.
Specified by:
setAttributeNS in interface Element
See Also:
Element

removeAttributeNS

public final void removeAttributeNS(java.lang.String namespaceURI,
                                    java.lang.String localName)
                             throws DOMException
Description copied from interface: Element
Removes an attribute by local name and namespace URI. If the removed attribute has a default value it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix.
HTML-only DOM implementations do not need to implement this method.
Specified by:
removeAttributeNS in interface Element
See Also:
Element

getAttributeNodeNS

public final Attr getAttributeNodeNS(java.lang.String namespaceURI,
                                     java.lang.String localName)
Description copied from interface: Element
Retrieves an Attr node by local name and namespace URI. HTML-only DOM implementations do not need to implement this method.
Specified by:
getAttributeNodeNS in interface Element
See Also:
Element

setAttributeNodeNS

public final Attr setAttributeNodeNS(Attr newAttr)
                              throws DOMException
Description copied from interface: Element
Adds a new attribute. If an attribute with that local name and that namespace URI is already present in the element, it is replaced by the new one.
HTML-only DOM implementations do not need to implement this method.
Specified by:
setAttributeNodeNS in interface Element
See Also:
Element

getName

public final java.lang.String getName()
Description copied from interface: Attr
Returns the name of this attribute.
Specified by:
getName in interface Attr
See Also:
Attr

getSpecified

public final boolean getSpecified()
Description copied from interface: Attr
If this attribute was explicitly given a value in the original document, this is true ; otherwise, it is false . Note that the implementation is in charge of this attribute, not the user. If the user changes the value of the attribute (even if it ends up having the same value as the default value) then the specified flag is automatically flipped to true . To re-specify the attribute as the default value from the DTD, the user must delete the attribute. The implementation will then make a new attribute available with specified set to false and the default value (if one exists).
In summary: If the attribute has an assigned value in the document then specified is true , and the value is the assigned value. If the attribute has no assigned value in the document and has a default value in the DTD, then specified is false , and the value is the default value in the DTD. If the attribute has no assigned value in the document and has a value of #IMPLIED in the DTD, then the attribute does not appear in the structure model of the document.
Specified by:
getSpecified in interface Attr
See Also:
Attr

getValue

public final java.lang.String getValue()
Description copied from interface: Attr
On retrieval, the value of the attribute is returned as a string. Character and general entity references are replaced with their values. See also the method getAttribute on the Element interface.
On setting, this creates a Text node with the unparsed contents of the string. I.e. any characters that an XML processor would recognize as markup are instead treated as literal text. See also the method setAttribute on the Element interface.
Specified by:
getValue in interface Attr
See Also:
Attr

setValue

public final void setValue(java.lang.String value)
Specified by:
setValue in interface Attr
See Also:
Attr

getOwnerElement

public final Element getOwnerElement()
Description copied from interface: Attr
The Element node this attribute is attached to or null if this attribute is not in use.
Specified by:
getOwnerElement in interface Attr
See Also:
as of DOM Level 2

Enhydra 3.1 API