Interface Element
- All Known Implementing Classes:
AbstractElement, BaseElement, BeanElement, DefaultElement, DOMElement, IndexedElement, NonLazyElement, UserDataElement
Element interface defines an XML element. An element can have
declared namespaces, attributes, child nodes and textual content.
Some of this interface is optional. Some implementations may be read-only and
not support being modified. Some implementations may not support the parent
relationship and methods such as Node.getParent()or Node.getDocument().
- Version:
- $Revision: 1.47 $
- Author:
- James Strachan
-
Field Summary
Fields inherited from interface Node
ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the givenAttributeto this element.voidAdds the givenCDATAto this element.voidAdds the givenEntityto this element.voidAdds the givenNamespaceto this element.voidAdds the givenTextto this element.addAttribute(String name, String value) Adds the attribute value of the given local name.addAttribute(QName qName, String value) Adds the attribute value of the given fully qualified name.Adds a newCDATAnode with the given text to this element.addComment(String comment) Adds a newCommentnode with the given text to this element.Adds a newEntitynode with the given name and text to this element and returns a reference to the new node.Returns any additional namespaces declarations for this element other than namespace returned via thegetNamespace()method.addNamespace(String prefix, String uri) Adds a namespace to this element for use by its child contentaddProcessingInstruction(String target, String text) Adds a processing instruction for the given targetaddProcessingInstruction(String target, Map<String, String> data) Adds a processing instruction for the given targetAdds a newTextnode with the given text to this element.voidappendAttributes(Element element) Appends the attributes of the given element to me.attribute(int index) Returns the attribute at the specified indexGets theReturns the attribute with the given nameDOCUMENT ME!intDOCUMENT ME!DOCUMENT ME!attributeValue(String name) This returns the attribute value for the attribute with the given name and any namespace or null if there is no such attribute or the empty string if the attribute value is empty.attributeValue(String name, String defaultValue) This returns the attribute value for the attribute with the given name and any namespace or the default value if there is no such attribute value.attributeValue(QName qName) This returns the attribute value for the attribute with the given fully qualified name or null if there is no such attribute or the empty string if the attribute value is empty.attributeValue(QName qName, String defaultValue) This returns the attribute value for the attribute with the given fully qualified name or the default value if there is no such attribute value.Creates a deep copy of this element The new element is detached from its parent, and getParent() on the clone will return null.createCopy(String name) Creates a deep copy of this element with the given local name The new element is detached from its parent, and getParent() on the clone will return null.createCopy(QName qName) Creates a deep copy of this element with the given fully qualified name.Returns all the namespaces declared by this element.Returns the first element for the given local name and any namespace.Returns the first element for the given fully qualified name.Returns an iterator over all this elements child elements.elementIterator(String name) Returns an iterator over the elements contained in this element which match the given local name and any namespace.elementIterator(QName qName) Returns an iterator over the elements contained in this element which match the given fully qualified name.elements()Returns the elements contained in this element.Returns the elements contained in this element with the given local name and any namespace.Returns the elements contained in this element with the given fully qualified name.elementText(String name) elementText(QName qname) elementTextTrim(String name) elementTextTrim(QName qname) getData()Accesses the data of this element which may implement data typing bindings such as XML Schema or Java Bean bindings or will return the same value asgetText()Returns theNamespaceof this element if one exists otherwiseNamespace.NO_NAMESPACEis returned.getNamespaceForPrefix(String prefix) Returns theNamespacewhich is mapped to the given prefix or null if it could not be found.getNamespaceForURI(String uri) Returns theNamespacewhich is mapped to the given URI or null if it could not be found.Returns the namespace prefix of this element if one exists otherwise an emptyStringis returned.Returns the all namespaces which are mapped to the given URI or an empty list if no such namespaces could be found.Returns the URI mapped to the namespace of this element if one exists otherwise an emptyStringis returned.getQName()Returns theQNameof this element which represents the local name, the qualified name and theNamespace.Returns theQNamefor the given qualified name, using the namespace URI in scope for the given prefix of the qualified name or the default namespace if the qualified name has no prefix.Returns the fully qualified name of this element.Returns the XPath string-value of this node.getText()Returns the text value of this element without recursing through child elements.DOCUMENT ME!getXPathResult(int index) Returns a node at the given index suitable for an XPath result set.booleanReturns true if thisElementhas mixed content.booleanDOCUMENT ME!booleanReturns true if thisElementhas text only content.booleanRemoves the givenAttributefrom this element.booleanRemoves the givenCDATAif the node is an immediate child of this element.booleanRemoves the givenEntityif the node is an immediate child of this element.booleanRemoves the givenNamespaceif the node is an immediate child of this element.booleanRemoves the givenTextif the node is an immediate child of this element.voidsetAttributes(List<Attribute> attributes) Sets the attributes that this element containsvoidsetAttributeValue(String name, String value) Deprecated.As of version 0.5.voidsetAttributeValue(QName qName, String value) Deprecated.As of version 0.5.voidSets the data value of this element if this element supports data binding or callsNode.setText(String)if it doesn'tvoidSets theQNameof this element which represents the local name, the qualified name and theNamespace.Methods inherited from interface Branch
add, add, add, add, addElement, addElement, addElement, appendContent, clearContent, content, elementByID, indexOf, node, nodeCount, nodeIterator, normalize, processingInstruction, processingInstructions, processingInstructions, remove, remove, remove, remove, removeProcessingInstruction, setContent, setProcessingInstructionsMethods inherited from interface Node
accept, asXML, asXPathResult, clone, createXPath, detach, getDocument, getName, getNodeType, getNodeTypeName, getParent, getPath, getPath, getUniquePath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, write
-
Method Details
-
getQName
QName getQName()Returns theQNameof this element which represents the local name, the qualified name and theNamespace.- Returns:
- the
QNameassociated with this element
-
setQName
Sets theQNameof this element which represents the local name, the qualified name and theNamespace.- Parameters:
qname- is theQNameto be associated with this element
-
getNamespace
Namespace getNamespace()Returns theNamespaceof this element if one exists otherwiseNamespace.NO_NAMESPACEis returned.- Returns:
- the
Namespaceassociated with this element
-
getQName
Returns theQNamefor the given qualified name, using the namespace URI in scope for the given prefix of the qualified name or the default namespace if the qualified name has no prefix.- Parameters:
qualifiedName- DOCUMENT ME!- Returns:
- the
QNamefor the given qualified name
-
getNamespaceForPrefix
-
getNamespaceForURI
Returns theNamespacewhich is mapped to the given URI or null if it could not be found. If there is more than oneNamespacemapped to the URI, which of them will be returned is undetermined.- Parameters:
uri- DOCUMENT ME!- Returns:
- the
Namespaceassociated with the given URI
-
getNamespacesForURI
-
getNamespacePrefix
String getNamespacePrefix()Returns the namespace prefix of this element if one exists otherwise an emptyStringis returned.- Returns:
- the prefix of the
Namespaceof this element or an emptyString
-
getNamespaceURI
String getNamespaceURI()Returns the URI mapped to the namespace of this element if one exists otherwise an emptyStringis returned.- Returns:
- the URI for the
Namespaceof this element or an emptyString
-
getQualifiedName
String getQualifiedName()Returns the fully qualified name of this element. This will be the same as the value returned fromNode.getName()if this element has no namespace attached to this element or an expression of the formgetNamespacePrefix() + ":" + getName()
will be returned.- Returns:
- the fully qualified name of the element.
-
additionalNamespaces
Returns any additional namespaces declarations for this element other than namespace returned via thegetNamespace()method. If no additional namespace declarations are present for this element then an empty list will be returned. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Returns:
- a list of any additional namespace declarations.
-
declaredNamespaces
Returns all the namespaces declared by this element. If no namespaces are declared for this element then an empty list will be returned. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Returns:
- a list of namespaces declared for this element.
-
addAttribute
Adds the attribute value of the given local name. If an attribute already exists for the given name it will be replaced. Attributes with null values are silently ignored. If the value of the attribute is null then this method call will remove any attributes with the given name.- Parameters:
name- is the name of the attribute whose value is to be added or updatedvalue- is the attribute's value- Returns:
- this
Elementinstance.
-
addAttribute
Adds the attribute value of the given fully qualified name. If an attribute already exists for the given name it will be replaced. Attributes with null values are silently ignored. If the value of the attribute is null then this method call will remove any attributes with the given name.- Parameters:
qName- is the fully qualified name of the attribute whose value is to be added or updatedvalue- is the attribute's value- Returns:
- this
Elementinstance.
-
addComment
-
addCDATA
-
addEntity
-
addNamespace
-
addProcessingInstruction
-
addProcessingInstruction
-
addText
-
add
Adds the givenAttributeto this element. If the given node already has a parent defined then anIllegalAddExceptionwill be thrown. Attributes with null values are silently ignored. If the value of the attribute is null then this method call will remove any attributes with the QName of this attribute.- Parameters:
attribute- is the attribute to be added
-
add
Adds the givenCDATAto this element. If the given node already has a parent defined then anIllegalAddExceptionwill be thrown.- Parameters:
cdata- is the CDATA to be added
-
add
Adds the givenEntityto this element. If the given node already has a parent defined then anIllegalAddExceptionwill be thrown.- Parameters:
entity- is the entity to be added
-
add
Adds the givenTextto this element. If the given node already has a parent defined then anIllegalAddExceptionwill be thrown.- Parameters:
text- is the text to be added
-
add
Adds the givenNamespaceto this element. If the given node already has a parent defined then anIllegalAddExceptionwill be thrown.- Parameters:
namespace- is the namespace to be added
-
remove
Removes the givenAttributefrom this element.- Parameters:
attribute- is the attribute to be removed- Returns:
- true if the attribute was removed
-
remove
Removes the givenCDATAif the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()method should be used instead.- Parameters:
cdata- is the CDATA to be removed- Returns:
- true if the cdata was removed
-
remove
Removes the givenEntityif the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()method should be used instead.- Parameters:
entity- is the entity to be removed- Returns:
- true if the entity was removed
-
remove
Removes the givenNamespaceif the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()method should be used instead.- Parameters:
namespace- is the namespace to be removed- Returns:
- true if the namespace was removed
-
remove
Removes the givenTextif the node is an immediate child of this element. If the given node is not an immediate child of this element then theNode.detach()method should be used instead.- Parameters:
text- is the text to be removed- Returns:
- true if the text was removed
-
getText
-
getTextTrim
String getTextTrim()DOCUMENT ME!- Returns:
- the trimmed text value where whitespace is trimmed and normalised into single spaces. This method does not return null.
-
getStringValue
String getStringValue()Returns the XPath string-value of this node. The behaviour of this method is defined in the XPath specification . This method returns the string-value of all the containedText,CDATA,EntityandElementnodes all appended together.- Specified by:
getStringValuein interfaceNode- Returns:
- the text from all the child Text and Element nodes appended together.
-
getData
-
setData
Sets the data value of this element if this element supports data binding or callsNode.setText(String)if it doesn't- Parameters:
data- DOCUMENT ME!
-
attributes
Returns theAttributeinstances this element contains as a backedListso that the attributes may be modified directly using theListinterface. TheListis backed by theElementso that changes to the list are reflected in the element and vice versa.- Returns:
- the attributes that this element contains as a
List
-
setAttributes
-
attributeCount
int attributeCount()DOCUMENT ME!- Returns:
- the number of attributes this element contains
-
attributeIterator
-
attribute
Returns the attribute at the specified indexGets the- Parameters:
index- DOCUMENT ME!- Returns:
- the attribute at the specified index where index >= 0 and index < number of attributes or throws an IndexOutOfBoundsException if the index is not within the allowable range
-
attribute
-
attribute
-
attributeValue
This returns the attribute value for the attribute with the given name and any namespace or null if there is no such attribute or the empty string if the attribute value is empty.- Parameters:
name- is the name of the attribute value to be returned- Returns:
- the value of the attribute, null if the attribute does not exist or the empty string
-
attributeValue
This returns the attribute value for the attribute with the given name and any namespace or the default value if there is no such attribute value.- Parameters:
name- is the name of the attribute value to be returneddefaultValue- is the default value to be returned if the attribute has no value defined.- Returns:
- the value of the attribute or the defaultValue if the attribute has no value defined.
-
attributeValue
This returns the attribute value for the attribute with the given fully qualified name or null if there is no such attribute or the empty string if the attribute value is empty.- Parameters:
qName- is the fully qualified name- Returns:
- the value of the attribute, null if the attribute does not exist or the empty string
-
attributeValue
This returns the attribute value for the attribute with the given fully qualified name or the default value if there is no such attribute value.- Parameters:
qName- is the fully qualified namedefaultValue- is the default value to be returned if the attribute has no value defined.- Returns:
- the value of the attribute or the defaultValue if the attribute has no value defined.
-
setAttributeValue
Deprecated.As of version 0.5. Please useaddAttribute(String, String)instead. WILL BE REMOVED IN dom4j-1.6 !!Sets the attribute value of the given local name.- Parameters:
name- is the name of the attribute whose value is to be added or updatedvalue- is the attribute's value
-
setAttributeValue
Deprecated.As of version 0.5. Please useaddAttribute(QName, String)instead. WILL BE REMOVED IN dom4j-1.6 !!Sets the attribute value of the given fully qualified name.- Parameters:
qName- is the fully qualified name of the attribute whose value is to be added or updatedvalue- is the attribute's value
-
element
-
element
-
elements
Returns the elements contained in this element. If this element does not contain any elements then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Returns:
- a list of all the elements in this element.
-
elements
Returns the elements contained in this element with the given local name and any namespace. If no elements are found then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Parameters:
name- DOCUMENT ME!- Returns:
- a list of all the elements in this element for the given local name
-
elements
Returns the elements contained in this element with the given fully qualified name. If no elements are found then this method returns an empty list. The list is backed by the element such that changes to the list will be reflected in the element though the reverse is not the case.- Parameters:
qName- is the fully qualified name to search for- Returns:
- a list of all the elements in this element for the given fully qualified name.
-
elementIterator
-
elementIterator
-
elementIterator
Returns an iterator over the elements contained in this element which match the given fully qualified name.- Parameters:
qName- is the fully qualified name to search for- Returns:
- an iterator over the contained elements matching the given fully qualified name
-
isRootElement
boolean isRootElement()DOCUMENT ME!- Returns:
- true if this element is the root element of a document and this element supports the parent relationship else false.
-
hasMixedContent
boolean hasMixedContent()Returns true if thisElementhas mixed content. Mixed content means that an element contains both textual data and child elements.- Returns:
- true if this element contains mixed content.
-
isTextOnly
boolean isTextOnly()Returns true if thisElementhas text only content.- Returns:
- true if this element is empty or only contains text content.
-
appendAttributes
Appends the attributes of the given element to me. This method behaves like theCollection.addAll(java.util.Collection)method.- Parameters:
element- is the element whose attributes will be added to me.
-
createCopy
Element createCopy()Creates a deep copy of this element The new element is detached from its parent, and getParent() on the clone will return null.- Returns:
- a new deep copy Element
-
createCopy
-
createCopy
-
elementText
-
elementText
-
elementTextTrim
-
elementTextTrim
-
getXPathResult
Returns a node at the given index suitable for an XPath result set. This means the resulting Node will either be null or it will support the parent relationship.- Parameters:
index- DOCUMENT ME!- Returns:
- the Node for the given index which will support the parent relationship or null if there is not a node at the given index.
-