| java.lang.Object org.apache.xerces.dom.NodeImpl org.apache.xerces.dom.ChildNode org.apache.xerces.dom.ParentNode org.apache.xerces.dom.ElementImpl
All known Subclasses: org.apache.xerces.dom.DeferredElementImpl, org.apache.wml.dom.WMLElementImpl, org.apache.html.dom.HTMLElementImpl, org.apache.xerces.dom.ElementNSImpl,
ElementImpl | public class ElementImpl extends ParentNode implements Element(Code) | | Elements represent most of the "markup" and structure of the
document. They contain both the data for the element itself
(element name and attributes), and any contained nodes, including
document text (as children).
Elements may have Attributes associated with them; the API for this is
defined in Node, but the function is implemented here. In general, XML
applications should retrive Attributes as Nodes, since they may contain
entity references and hence be a fairly complex sub-tree. HTML users will
be dealing with simple string values, and convenience methods are provided
to work in terms of Strings.
ElementImpl does not support Namespaces. ElementNSImpl, which inherits from
it, does.
See Also: ElementNSImpl author: Arnaud Le Hors, IBM author: Joe Kesselman, IBM author: Andy Clark, IBM author: Ralf Pfeiffer, IBM since: PR-DOM-Level-1-19980818. |
Method Summary | |
public Node | cloneNode(boolean deep) Return a duplicate copy of this Element. | public String | getAttribute(String name) Look up a single Attribute by name. | public String | getAttributeNS(String namespaceURI, String localName) Introduced in DOM Level 2. | public Attr | getAttributeNode(String name) Look up a single Attribute by name. | public Attr | getAttributeNodeNS(String namespaceURI, String localName) Retrieves an Attr node by local name and namespace URI. | public NamedNodeMap | getAttributes() Retrieve all the Attributes as a set. | protected NamedNodeMapImpl | getDefaultAttributes() Get the default attributes. | public NodeList | getElementsByTagName(String tagname) Returns a NodeList of all descendent nodes (children,
grandchildren, and so on) which are Elements and which have the
specified tag name.
Note: NodeList is a "live" view of the DOM. | public NodeList | getElementsByTagNameNS(String namespaceURI, String localName) Introduced in DOM Level 2. | public String | getNodeName() | public short | getNodeType() A short integer indicating what type of node this is. | public String | getTagName() Returns the name of the Element. | public boolean | hasAttribute(String name) Introduced in DOM Level 2. | public boolean | hasAttributeNS(String namespaceURI, String localName) Introduced in DOM Level 2. | public boolean | hasAttributes() Introduced in DOM Level 2. | public void | normalize() In "normal form" (as read from a source file), there will never be two
Text children in succession. | protected void | reconcileDefaultAttributes() Reconcile default attributes. | public void | removeAttribute(String name) Remove the named attribute from this Element. | public void | removeAttributeNS(String namespaceURI, String localName) Introduced in DOM Level 2. | public Attr | removeAttributeNode(Attr oldAttr) Remove the specified attribute/value pair. | public void | setAttribute(String name, String value) Add a new name/value pair, or replace the value of the existing
attribute having that name. | public void | setAttributeNS(String namespaceURI, String localName, String value) Introduced in DOM Level 2. | public Attr | setAttributeNode(Attr newAttr) Add a new attribute/value pair, or replace the value of the
existing attribute with that name.
This method allows you to add an Attribute that has already been
constructed, and hence avoids the limitations of the simple
setAttribute() call. | public Attr | setAttributeNodeNS(Attr newAttr) Introduced in DOM Level 2. | void | setOwnerDocument(CoreDocumentImpl doc) | public void | setReadOnly(boolean readOnly, boolean deep) NON-DOM: Subclassed to flip the attributes' readonly switch as well. | protected void | setupDefaultAttributes() Setup the default attributes. | protected void | synchronizeData() Synchronizes the data (name and value) for fast nodes. |
serialVersionUID | final static long serialVersionUID(Code) | | Serialization version.
|
ElementImpl | protected ElementImpl()(Code) | | |
cloneNode | public Node cloneNode(boolean deep)(Code) | | Return a duplicate copy of this Element. Note that its children
will not be copied unless the "deep" flag is true, but Attributes
are always replicated.
See Also: org.w3c.dom.Node.cloneNode(boolean) |
getAttribute | public String getAttribute(String name)(Code) | | Look up a single Attribute by name. Returns the Attribute's
string value, or an empty string (NOT null!) to indicate that the
name did not map to a currently defined attribute.
Note: Attributes may contain complex node trees. This method
returns the "flattened" string obtained from Attribute.getValue().
If you need the structure information, see getAttributeNode().
|
getAttributeNS | public String getAttributeNS(String namespaceURI, String localName)(Code) | | Introduced in DOM Level 2.
Retrieves an attribute value by local name and namespace URI.
Parameters: namespaceURI - The namespace URI of the attribute toretrieve. Parameters: localName - The local name of the attribute to retrieve. String The Attr value as a string, or empty stringif that attributedoes not have a specified or default value. since: WD-DOM-Level-2-19990923 |
getAttributeNode | public Attr getAttributeNode(String name)(Code) | | Look up a single Attribute by name. Returns the Attribute Node,
so its complete child tree is available. This could be important in
XML, where the string rendering may not be sufficient information.
If no matching attribute is available, returns null.
|
getAttributeNodeNS | public Attr getAttributeNodeNS(String namespaceURI, String localName)(Code) | | Retrieves an Attr node by local name and namespace URI.
Parameters: namespaceURI - The namespace URI of the attribute toretrieve. Parameters: localName - The local name of the attribute to retrieve. Attr The Attr node with the specified attribute local name and namespaceURI or null if there is no such attribute. since: WD-DOM-Level-2-19990923 |
getAttributes | public NamedNodeMap getAttributes()(Code) | | Retrieve all the Attributes as a set. Note that this API is inherited
from Node rather than specified on Element; in fact only Elements will
ever have Attributes, but they want to allow folks to "blindly" operate
on the tree as a set of Nodes.
|
getElementsByTagName | public NodeList getElementsByTagName(String tagname)(Code) | | Returns a NodeList of all descendent nodes (children,
grandchildren, and so on) which are Elements and which have the
specified tag name.
Note: NodeList is a "live" view of the DOM. Its contents will
change as the DOM changes, and alterations made to the NodeList
will be reflected in the DOM.
Parameters: tagname - The type of element to gather. To obtain a list ofall elements no matter what their names, use the wild-card tagname "*". See Also: DeepNodeListImpl |
getElementsByTagNameNS | public NodeList getElementsByTagNameNS(String namespaceURI, String localName)(Code) | | Introduced in DOM Level 2.
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, starting from this node.
Parameters: namespaceURI - The namespace URI of the elements to matchon. The special value "*" matches allnamespaces. When it is null or an emptystring, this method behaves likegetElementsByTagName. Parameters: localName - The local name of the elements to match on.The special value "*" matches all local names. NodeList A new NodeList object containing all the matchedElements. since: WD-DOM-Level-2-19990923 |
getNodeName | public String getNodeName()(Code) | | Returns the element name
|
getNodeType | public short getNodeType()(Code) | | A short integer indicating what type of node this is. The named
constants for this value are defined in the org.w3c.dom.Node interface.
|
getTagName | public String getTagName()(Code) | | Returns the name of the Element. Note that Element.nodeName() is
defined to also return the tag name.
This is case-preserving in XML. HTML should uppercasify it on the
way in.
|
hasAttribute | public boolean hasAttribute(String name)(Code) | | Introduced in DOM Level 2.
|
hasAttributeNS | public boolean hasAttributeNS(String namespaceURI, String localName)(Code) | | Introduced in DOM Level 2.
|
hasAttributes | public boolean hasAttributes()(Code) | | Introduced in DOM Level 2.
|
normalize | public void normalize()(Code) | | In "normal form" (as read from a source file), there will never be two
Text children in succession. But DOM users may create successive Text
nodes in the course of manipulating the document. Normalize walks the
sub-tree and merges adjacent Texts, as if the DOM had been written out
and read back in again. This simplifies implementation of higher-level
functions that may want to assume that the document is in standard form.
To normalize a Document, normalize its top-level Element child.
As of PR-DOM-Level-1-19980818, CDATA -- despite being a subclass of
Text -- is considered "markup" and will _not_ be merged either with
normal Text or with other CDATASections.
|
reconcileDefaultAttributes | protected void reconcileDefaultAttributes()(Code) | | Reconcile default attributes.
|
removeAttribute | public void removeAttribute(String name)(Code) | | Remove the named attribute from this Element. If the removed
Attribute has a default value, it is immediately replaced thereby.
The default logic is actually implemented in NamedNodeMapImpl.
PR-DOM-Level-1-19980818 doesn't fully address the DTD, so some
of this behavior is likely to change in future versions. ?????
Note that this call "succeeds" even if no attribute by this name
existed -- unlike removeAttributeNode, which will throw a not-found
exception in that case.
throws: DOMException - (NO_MODIFICATION_ALLOWED_ERR) if the node isreadonly. |
removeAttributeNS | public void removeAttributeNS(String namespaceURI, String localName)(Code) | | Introduced in DOM Level 2.
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.
Parameters: namespaceURI - The namespace URI of the attribute to remove. Parameters: localName - The local name of the attribute to remove. throws: NO_MODIFICATION_ALLOWED_ERR - : Raised if thisnode is readonly. since: WD-DOM-Level-2-19990923 |
removeAttributeNode | public Attr removeAttributeNode(Attr oldAttr) throws DOMException(Code) | | Remove the specified attribute/value pair. If the removed
Attribute has a default value, it is immediately replaced.
NOTE: Specifically removes THIS NODE -- not the node with this
name, nor the node with these contents. If the specific Attribute
object passed in is not stored in this Element, we throw a
DOMException. If you really want to remove an attribute by name,
use removeAttribute().
the Attribute object that was removed. throws: DOMException - (NOT_FOUND_ERR) if oldattr is not an attribute ofthis Element. throws: DOMException - (NO_MODIFICATION_ALLOWED_ERR) if the node isreadonly. |
setAttribute | public void setAttribute(String name, String value)(Code) | | Add a new name/value pair, or replace the value of the existing
attribute having that name.
Note: this method supports only the simplest kind of Attribute,
one whose value is a string contained in a single Text node.
If you want to assert a more complex value (which XML permits,
though HTML doesn't), see setAttributeNode().
The attribute is created with specified=true, meaning it's an
explicit value rather than inherited from the DTD as a default.
Again, setAttributeNode can be used to achieve other results.
throws: DOMException - (INVALID_NAME_ERR) if the name is not acceptable.(Attribute factory will do that test for us.) throws: DOMException - (NO_MODIFICATION_ALLOWED_ERR) if the node isreadonly. |
setAttributeNS | public void setAttributeNS(String namespaceURI, String localName, String value)(Code) | | Introduced in DOM Level 2.
Adds a new attribute.
If the given namespaceURI is null or an empty string and the
qualifiedName has a prefix that is "xml", the new attribute is bound to
the predefined namespace "http://www.w3.org/XML/1998/namespace"
[Namespaces]. 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.
Parameters: namespaceURI - The namespace URI of the attribute to createor alter. Parameters: localName - The local name of the attribute to create oralter. Parameters: value - The value to set in string form. throws: INVALID_CHARACTER_ERR - : Raised if the specifiedname contains an invalid character. throws: NO_MODIFICATION_ALLOWED_ERR - : Raised if thisnode is readonly. throws: NAMESPACE_ERR - : Raised if the qualifiedNamehas a prefix that is "xml" and the namespaceURIis neither null nor an empty string nor"http://www.w3.org/XML/1998/namespace", or ifthe qualifiedName has a prefix that is "xmlns"but the namespaceURI is neither null nor anempty string, or if if the qualifiedName has aprefix different from "xml" and "xmlns" and thenamespaceURI is null or an empty string. since: WD-DOM-Level-2-19990923 |
setAttributeNode | public Attr setAttributeNode(Attr newAttr) throws DOMException(Code) | | Add a new attribute/value pair, or replace the value of the
existing attribute with that name.
This method allows you to add an Attribute that has already been
constructed, and hence avoids the limitations of the simple
setAttribute() call. It can handle attribute values that have
arbitrarily complex tree structure -- in particular, those which
had entity references mixed into their text.
throws: DOMException - (INUSE_ATTRIBUTE_ERR) if the Attribute objecthas already been assigned to another Element. |
setAttributeNodeNS | public Attr setAttributeNodeNS(Attr newAttr) throws DOMException(Code) | | Introduced in DOM Level 2.
Adds a new attribute. If an attribute with that local name and
namespace URI is already present in the element, it is replaced
by the new one.
Parameters: Attr - The Attr node to add to the attribute list. When the Node has no namespaceURI, this method behaves like setAttributeNode. Attr If the newAttr attribute replaces an existing attributewith the same local name and namespace URI, the *previously existing Attr node is returned, otherwisenull is returned. throws: WRONG_DOCUMENT_ERR - : Raised if newAttrwas created from a different document than the one thatcreated the element. throws: NO_MODIFICATION_ALLOWED_ERR - : Raised ifthis node is readonly. throws: INUSE_ATTRIBUTE_ERR - : Raised if newAttr isalready an attribute of another Element object. TheDOM user must explicitly clone Attr nodes to re-usethem in other elements. since: WD-DOM-Level-2-19990923 |
setOwnerDocument | void setOwnerDocument(CoreDocumentImpl doc)(Code) | | NON-DOM
set the ownerDocument of this node, its children, and its attributes
|
setReadOnly | public void setReadOnly(boolean readOnly, boolean deep)(Code) | | NON-DOM: Subclassed to flip the attributes' readonly switch as well.
See Also: NodeImpl.setReadOnly |
setupDefaultAttributes | protected void setupDefaultAttributes()(Code) | | Setup the default attributes.
|
synchronizeData | protected void synchronizeData()(Code) | | Synchronizes the data (name and value) for fast nodes.
|
|
|