org.apache.xerces.dom
Class ElementDefinitionImpl

java.lang.Object
  extended by org.apache.xerces.dom.NodeImpl
      extended by org.apache.xerces.dom.ChildNode
          extended by org.apache.xerces.dom.ParentNode
              extended by org.apache.xerces.dom.ElementDefinitionImpl
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, EventTarget, Node, NodeList
Direct Known Subclasses:
DeferredElementDefinitionImpl

public class ElementDefinitionImpl
extends ParentNode

NON-DOM CLASS: Describe one of the Elements (and its associated Attributes) defined in this Document Type.

I've included this in Level 1 purely as an anchor point for default attributes. In Level 2 it should enable the ChildRule support.

Version:
$Id: ElementDefinitionImpl.java 447266 2006-09-18 05:57:49Z mrglavas $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
ElementDefinitionImpl(CoreDocumentImpl ownerDocument, java.lang.String name)
          Factory constructor.
 
Method Summary
 Node cloneNode(boolean deep)
          Replicate this object.
 NamedNodeMap getAttributes()
          Query the attributes defined on this Element.
 java.lang.String getNodeName()
          Returns the element definition name
 short getNodeType()
          A short integer indicating what type of node this is.
 
Methods inherited from class org.apache.xerces.dom.ParentNode
getChildNodes, getFirstChild, getLastChild, getLength, getOwnerDocument, getTextContent, hasChildNodes, insertBefore, isEqualNode, item, normalize, removeChild, replaceChild, setReadOnly, setTextContent
 
Methods inherited from class org.apache.xerces.dom.ChildNode
getNextSibling, getParentNode, getPreviousSibling
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, compareDocumentPosition, compareTreePosition, dispatchEvent, getBaseURI, getFeature, getLocalName, getNamespaceURI, getNodeValue, getPrefix, getReadOnly, getUserData, getUserData, hasAttributes, isDefaultNamespace, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, needsSyncChildren, removeEventListener, setNodeValue, setPrefix, setUserData, setUserData, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ElementDefinitionImpl

public ElementDefinitionImpl(CoreDocumentImpl ownerDocument,
                             java.lang.String name)
Factory constructor.

Method Detail

getNodeType

public short getNodeType()
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.

Specified by:
getNodeType in interface Node
Specified by:
getNodeType in class NodeImpl

getNodeName

public java.lang.String getNodeName()
Returns the element definition name

Specified by:
getNodeName in interface Node
Specified by:
getNodeName in class NodeImpl

cloneNode

public Node cloneNode(boolean deep)
Replicate this object.

Specified by:
cloneNode in interface Node
Overrides:
cloneNode in class ParentNode
Parameters:
deep - If true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element).
Returns:
The duplicate node.
See Also:

Example: Cloning a Text node will copy both the node and the text it contains.

Example: Cloning something that has children -- Element or Attr, for example -- will _not_ clone those children unless a "deep clone" has been requested. A shallow clone of an Attr node will yield an empty Attr of the same name.

NOTE: Clones will always be read/write, even if the node being cloned is read-only, to permit applications using only the DOM API to obtain editable copies of locked portions of the tree.


getAttributes

public NamedNodeMap getAttributes()
Query the attributes defined on this Element.

In the base implementation this Map simply contains Attribute objects representing the defaults. In a more serious implementation, it would contain AttributeDefinitionImpl objects for all declared Attributes, indicating which are Default, DefaultFixed, Implicit and/or Required.

Specified by:
getAttributes in interface Node
Overrides:
getAttributes in class NodeImpl
Returns:
org.w3c.dom.NamedNodeMap containing org.w3c.dom.Attribute
See Also:
ElementImpl