public interface Element extends Branch
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()
.
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
Modifier and Type | Method and Description |
---|---|
void |
add(Attribute attribute)
Adds the given
Attribute to this element. |
void |
add(CDATA cdata)
Adds the given
CDATA to this element. |
void |
add(Entity entity)
Adds the given
Entity to this element. |
void |
add(Namespace namespace)
Adds the given
Namespace to this element. |
void |
add(Text text)
Adds the given
Text to this element. |
Element |
addAttribute(QName qName,
String value)
Adds the attribute value of the given fully qualified name.
|
Element |
addAttribute(String name,
String value)
Adds the attribute value of the given local name.
|
Element |
addCDATA(String cdata)
Adds a new
CDATA node with the given text to this element. |
Element |
addComment(String comment)
Adds a new
Comment node with the given text to this element. |
Element |
addEntity(String name,
String text)
Adds a new
Entity node with the given name and text
to this element and returns a reference to the new node. |
List |
additionalNamespaces()
Returns any additional namespaces declarations for this element
other than namespace returned via the
getNamespace() method. |
Element |
addNamespace(String prefix,
String uri)
Adds a namespace to this element for use by its child content
|
Element |
addProcessingInstruction(String target,
Map data)
Adds a processing instruction for the given target
|
Element |
addProcessingInstruction(String target,
String text)
Adds a processing instruction for the given target
|
Element |
addText(String text)
Adds a new
Text node with the given text to this element. |
void |
appendAttributes(Element element)
Appends the attributes of the given element to me.
|
Attribute |
attribute(int index)
Returns the attribute at the specified indexGets the
|
Attribute |
attribute(QName qname) |
Attribute |
attribute(String name)
Returns the attribute with the given name
|
int |
attributeCount() |
Iterator |
attributeIterator() |
List |
attributes()
|
String |
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.
|
String |
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.
|
String |
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.
|
String |
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.
|
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.
|
Element |
createCopy(QName qName)
Creates a deep copy of this element with the given fully qualified name.
|
Element |
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.
|
List |
declaredNamespaces()
Returns all the namespaces declared by this element.
|
Element |
element(QName qname)
Returns the first element for the given fully qualified name.
|
Element |
element(String name)
Returns the first element for the given local name and any namespace.
|
Iterator |
elementIterator()
Returns an iterator over all this elements child elements.
|
Iterator |
elementIterator(QName qname)
Returns an iterator over the elements contained in this element
which match the given fully qualified name.
|
Iterator |
elementIterator(String name)
Returns an iterator over the elements contained in this element
which match the given local name and any namespace.
|
List |
elements()
Returns the elements contained in this element.
|
List |
elements(QName qName)
Returns the elements contained in this element with the given
fully qualified name.
|
List |
elements(String name)
Returns the elements contained in this element with the given
local name and any namespace.
|
String |
elementText(QName qname) |
String |
elementText(String name) |
String |
elementTextTrim(QName qname) |
String |
elementTextTrim(String name) |
Object |
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 as
getText() |
Namespace |
getNamespace()
Returns the
Namespace of this element if one exists
otherwise Namespace.NO_NAMESPACE is returned. |
Namespace |
getNamespaceForPrefix(String prefix)
Returns the
Namespace which is mapped to the given
prefix or null if it could not be found. |
Namespace |
getNamespaceForURI(String uri)
Returns the
Namespace which is mapped to the given
URI or null if it could not be found. |
String |
getNamespacePrefix()
Returns the namespace prefix of this element if one exists
otherwise an empty
String is returned. |
String |
getNamespaceURI()
Returns the URI mapped to the namespace of this element
if one exists otherwise an empty
String is returned. |
QName |
getQName()
Returns the
QName of this element which represents
the local name, the qualified name and the Namespace . |
QName |
getQName(String qualifiedName)
Returns the
QName for 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. |
String |
getQualifiedName()
Returns the fully qualified name of this element.
|
String |
getStringValue()
Returns the XPath string-value of this node.
|
String |
getText()
Returns the text value of this element without recursing through
child elements.
|
String |
getTextTrim() |
Node |
getXPathResult(int index)
Returns a node at the given index suitable for an XPath result set.
|
boolean |
hasMixedContent()
Returns true if this
Element has mixed content. |
boolean |
isRootElement() |
boolean |
isTextOnly()
Returns true if this
Element has text only content. |
boolean |
remove(Attribute attribute)
Removes the given
Attribute from this element. |
boolean |
remove(CDATA cdata)
Removes the given
CDATA if the node is
an immediate child of this element. |
boolean |
remove(Entity entity)
Removes the given
Entity if the node is
an immediate child of this element. |
boolean |
remove(Namespace namespace)
Removes the given
Namespace if the node is
an immediate child of this element. |
boolean |
remove(Text text)
Removes the given
Text if the node is
an immediate child of this element. |
void |
setAttributes(List attributes)
Sets the attributes that this element contains
|
void |
setAttributeValue(QName qName,
String value)
Deprecated.
As of version 0.5. Please use
addAttribute(QName,String) instead. |
void |
setAttributeValue(String name,
String value)
Deprecated.
As of version 0.5. Please use
addAttribute(String,String) instead. |
void |
setData(Object data)
Sets the data value of this element if this element supports data
binding or calls
Node.setText(java.lang.String) if it doesn't |
void |
setQName(QName qname)
Sets the
QName of this element which represents
the local name, the qualified name and the Namespace . |
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, setProcessingInstructions
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
QName getQName()
Returns the QName
of this element which represents
the local name, the qualified name and the Namespace
.
QName
associated with this elementvoid setQName(QName qname)
Sets the QName
of this element which represents
the local name, the qualified name and the Namespace
.
qname
- is the QName
to be associated with this elementNamespace getNamespace()
Returns the Namespace
of this element if one exists
otherwise Namespace.NO_NAMESPACE
is returned.
Namespace
associated with this elementQName getQName(String qualifiedName)
Returns the QName
for 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.
QName
for the given qualified nameNamespace getNamespaceForPrefix(String prefix)
Returns the Namespace
which is mapped to the given
prefix or null if it could not be found.
Namespace
associated with the given prefixNamespace getNamespaceForURI(String uri)
Returns the Namespace
which is mapped to the given
URI or null if it could not be found.
Namespace
associated with the given URIString getNamespacePrefix()
Returns the namespace prefix of this element if one exists
otherwise an empty String
is returned.
Namespace
of this element
or an empty String
String getNamespaceURI()
Returns the URI mapped to the namespace of this element
if one exists otherwise an empty String
is returned.
Namespace
of this element
or an empty String
String getQualifiedName()
Returns the fully qualified name of this element.
This will be the same as the value returned from Node.getName()
if this element has no namespace attached to this element or an
expression of the form
getNamespacePrefix() + ":" + getName()will be returned.
List additionalNamespaces()
Returns any additional namespaces declarations for this element
other than namespace returned via the getNamespace()
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.
List 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.
Element addAttribute(String name, String value)
Adds the attribute value of the given local name. If an attribute already exists for the given name it will be replaced.
name
- is the name of the attribute whose value is to be added
or updatedvalue
- is the attribute's valueElement
instance.Element addAttribute(QName qName, String value)
Adds the attribute value of the given fully qualified name. If an attribute already exists for the given name it will be replaced.
qName
- is the fully qualified name of the attribute
whose value is to be added or updatedvalue
- is the attribute's valueElement
instance.Element addComment(String comment)
Comment
node with the given text to this element.comment
- is the text for the Comment
node.Element
instance.Element addCDATA(String cdata)
CDATA
node with the given text to this element.cdata
- is the text for the CDATA
node.Element
instance.Element addEntity(String name, String text)
Entity
node with the given name and text
to this element and returns a reference to the new node.name
- is the name for the Entity
node.text
- is the text for the Entity
node.Element
instance.Element addNamespace(String prefix, String uri)
prefix
- is the prefix to use, which should not be null or blankuri
- is the namespace URIElement
instance.Element addProcessingInstruction(String target, String text)
target
- is the target of the processing instructiontext
- is the textual data (key/value pairs) of the processing instructionElement
instance.Element addProcessingInstruction(String target, Map data)
target
- is the target of the processing instructiondata
- is a Map of the key / value pairs of the processing instructionElement
instance.Element addText(String text)
Text
node with the given text to this element.text
- is the text for the Text
node.Element
instance.void add(Attribute attribute)
Attribute
to this element.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.attribute
- is the attribute to be addedvoid add(CDATA cdata)
CDATA
to this element.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.cdata
- is the CDATA to be addedvoid add(Entity entity)
Entity
to this element.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.entity
- is the entity to be addedvoid add(Text text)
Text
to this element.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.text
- is the text to be addedvoid add(Namespace namespace)
Namespace
to this element.
If the given node already has a parent defined then an
InvalidAddNodeException
will be thrown.namespace
- is the namespace to be addedboolean remove(Attribute attribute)
Attribute
from this element.attribute
- is the attribute to be removedboolean remove(CDATA cdata)
CDATA
if the node is
an immediate child of this element.
If the given node is not an immediate child of this element
then the Node.detach()
method should be used instead.cdata
- is the CDATA to be removedboolean remove(Entity entity)
Entity
if the node is
an immediate child of this element.
If the given node is not an immediate child of this element
then the Node.detach()
method should be used instead.entity
- is the entity to be removedboolean remove(Namespace namespace)
Namespace
if the node is
an immediate child of this element.
If the given node is not an immediate child of this element
then the Node.detach()
method should be used instead.namespace
- is the namespace to be removedboolean remove(Text text)
Text
if the node is
an immediate child of this element.
If the given node is not an immediate child of this element
then the Node.detach()
method should be used instead.text
- is the text to be removedString getTextTrim()
String getStringValue()
Text
, CDATA
, Entity
and Element
nodes
all appended together.getStringValue
in interface Node
Object getData()
getText()
void setData(Object data)
Node.setText(java.lang.String)
if it doesn'tList attributes()
Returns the Attribute
instances this element contains as
a backed List
so that the attributes may be modified directly
using the List
interface.
The List
is backed by the Element
so that
changes to the list are reflected in the element and vice versa.
List
void setAttributes(List attributes)
int attributeCount()
Iterator attributeIterator()
Attribute attribute(int index)
Attribute attribute(String name)
Attribute attribute(QName qname)
qName
- is the fully qualified nameString 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.
name
- is the name of the attribute value to be returndString 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.
name
- is the name of the attribute value to be returnddefaultValue
- is the default value to be returned if the
attribute has no value defined.String 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.
qName
- is the fully qualified nameString 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.
qName
- is the fully qualified namedefaultValue
- is the default value to be returned if the
attribute has no value defined.void setAttributeValue(String name, String value)
addAttribute(String,String)
instead.Sets the attribute value of the given local name.
name
- is the name of the attribute whose value is to be added
or updatedvalue
- is the attribute's valuevoid setAttributeValue(QName qName, String value)
addAttribute(QName,String)
instead.Sets the attribute value of the given fully qualified name.
qName
- is the fully qualified name of the attribute
whose value is to be added or updatedvalue
- is the attribute's valueElement element(String name)
Element element(QName qname)
qName
- is the fully qualified name to search forList 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.
List elements(String name)
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.
List elements(QName qName)
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.
qName
- is the fully qualified name to search forIterator elementIterator()
Iterator elementIterator(String name)
Iterator elementIterator(QName qname)
qName
- is the fully qualified name to search forboolean isRootElement()
boolean hasMixedContent()
Returns true if this Element
has mixed content.
Mixed content means that an element contains both textual data and
child elements.
boolean isTextOnly()
Returns true if this Element
has text only content.
void appendAttributes(Element element)
Collection.addAll(java.util.Collection)
method.element
- is the element whose attributes will be added to me.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.
Element 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.
Element createCopy(QName qName)
Creates a deep copy of this element with the given fully qualified name. The new element is detached from its parent, and getParent() on the clone will return null.
String elementText(String name)
String elementText(QName qname)
String elementTextTrim(String name)
String elementTextTrim(QName qname)
Node getXPathResult(int index)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses