Package org.dom4j

Interface Element

    • Method Detail

      • getQName

        QName getQName()
        Returns the QName of this element which represents the local name, the qualified name and the Namespace.
        Returns:
        the QName associated with this element
      • setQName

        void setQName​(QName qname)
        Sets the QName of this element which represents the local name, the qualified name and the Namespace.
        Parameters:
        qname - is the QName to be associated with this element
      • getNamespace

        Namespace getNamespace()
        Returns the Namespace of this element if one exists otherwise Namespace.NO_NAMESPACE is returned.
        Returns:
        the Namespace associated with this element
      • getQName

        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.
        Parameters:
        qualifiedName - DOCUMENT ME!
        Returns:
        the QName for the given qualified name
      • getNamespaceForPrefix

        Namespace getNamespaceForPrefix​(String prefix)
        Returns the Namespace which is mapped to the given prefix or null if it could not be found.
        Parameters:
        prefix - DOCUMENT ME!
        Returns:
        the Namespace associated with the given prefix
      • getNamespaceForURI

        Namespace getNamespaceForURI​(String uri)
        Returns the Namespace which is mapped to the given URI or null if it could not be found. If there is more than one Namespace mapped to the URI, which of them will be returned is undetermined.
        Parameters:
        uri - DOCUMENT ME!
        Returns:
        the Namespace associated with the given URI
      • getNamespacesForURI

        List<Namespace> getNamespacesForURI​(String uri)
        Returns the all namespaces which are mapped to the given URI or an empty list if no such namespaces could be found.
        Parameters:
        uri - DOCUMENT ME!
        Returns:
        the namespaces associated with the given URI
        Since:
        1.5
      • getNamespacePrefix

        String getNamespacePrefix()
        Returns the namespace prefix of this element if one exists otherwise an empty String is returned.
        Returns:
        the prefix of the Namespace of this element or an empty String
      • getNamespaceURI

        String getNamespaceURI()
        Returns the URI mapped to the namespace of this element if one exists otherwise an empty String is returned.
        Returns:
        the URI for the Namespace of this element or an empty String
      • getQualifiedName

        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.
        Returns:
        the fully qualified name of the element.
      • additionalNamespaces

        List<Namespace> 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.
        Returns:
        a list of any additional namespace declarations.
      • declaredNamespaces

        List<Namespace> 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

        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. 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 updated
        value - is the attribute's value
        Returns:
        this Element instance.
      • addAttribute

        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. 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 updated
        value - is the attribute's value
        Returns:
        this Element instance.
      • addComment

        Element addComment​(String comment)
        Adds a new Comment node with the given text to this element.
        Parameters:
        comment - is the text for the Comment node.
        Returns:
        this Element instance.
      • addCDATA

        Element addCDATA​(String cdata)
        Adds a new CDATA node with the given text to this element.
        Parameters:
        cdata - is the text for the CDATA node.
        Returns:
        this Element instance.
      • addEntity

        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.
        Parameters:
        name - is the name for the Entity node.
        text - is the text for the Entity node.
        Returns:
        this Element instance.
      • addNamespace

        Element addNamespace​(String prefix,
                             String uri)
        Adds a namespace to this element for use by its child content
        Parameters:
        prefix - is the prefix to use, which should not be null or blank
        uri - is the namespace URI
        Returns:
        this Element instance.
      • addProcessingInstruction

        Element addProcessingInstruction​(String target,
                                         String text)
        Adds a processing instruction for the given target
        Parameters:
        target - is the target of the processing instruction
        text - is the textual data (key/value pairs) of the processing instruction
        Returns:
        this Element instance.
      • addProcessingInstruction

        Element addProcessingInstruction​(String target,
                                         Map<String,​String> data)
        Adds a processing instruction for the given target
        Parameters:
        target - is the target of the processing instruction
        data - is a Map of the key / value pairs of the processing instruction
        Returns:
        this Element instance.
      • addText

        Element addText​(String text)
        Adds a new Text node with the given text to this element.
        Parameters:
        text - is the text for the Text node.
        Returns:
        this Element instance.
      • add

        void add​(Attribute attribute)
        Adds the given Attribute to this element. If the given node already has a parent defined then an IllegalAddException will 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

        void add​(CDATA cdata)
        Adds the given CDATA to this element. If the given node already has a parent defined then an IllegalAddException will be thrown.
        Parameters:
        cdata - is the CDATA to be added
      • add

        void add​(Entity entity)
        Adds the given Entity to this element. If the given node already has a parent defined then an IllegalAddException will be thrown.
        Parameters:
        entity - is the entity to be added
      • add

        void add​(Text text)
        Adds the given Text to this element. If the given node already has a parent defined then an IllegalAddException will be thrown.
        Parameters:
        text - is the text to be added
      • add

        void add​(Namespace namespace)
        Adds the given Namespace to this element. If the given node already has a parent defined then an IllegalAddException will be thrown.
        Parameters:
        namespace - is the namespace to be added
      • remove

        boolean remove​(Attribute attribute)
        Removes the given Attribute from this element.
        Parameters:
        attribute - is the attribute to be removed
        Returns:
        true if the attribute was removed
      • remove

        boolean remove​(CDATA cdata)
        Removes the given 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.
        Parameters:
        cdata - is the CDATA to be removed
        Returns:
        true if the cdata was removed
      • remove

        boolean remove​(Entity entity)
        Removes the given 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.
        Parameters:
        entity - is the entity to be removed
        Returns:
        true if the entity was removed
      • remove

        boolean remove​(Namespace namespace)
        Removes the given 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.
        Parameters:
        namespace - is the namespace to be removed
        Returns:
        true if the namespace was removed
      • remove

        boolean remove​(Text text)
        Removes the given 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.
        Parameters:
        text - is the text to be removed
        Returns:
        true if the text was removed
      • getText

        String getText()
        Returns the text value of this element without recursing through child elements. This method iterates through all Text,CDATA and Entitynodes that this element contains and appends the text values together.
        Specified by:
        getText in interface Node
        Returns:
        the textual content of this Element. Child elements are not navigated. This method does not return null;
      • 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 contained Text,CDATA,Entityand Element nodes all appended together.
        Specified by:
        getStringValue in interface Node
        Returns:
        the text from all the child Text and Element nodes appended together.
      • getData

        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()
        Returns:
        DOCUMENT ME!
      • setData

        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
        Parameters:
        data - DOCUMENT ME!
      • attributes

        List<Attribute> attributes()
        Returns the Attributeinstances this element contains as a backed Listso that the attributes may be modified directly using the Listinterface. The List is backed by the Element so that changes to the list are reflected in the element and vice versa.
        Returns:
        the attributes that this element contains as a List
      • setAttributes

        void setAttributes​(List<Attribute> attributes)
        Sets the attributes that this element contains
        Parameters:
        attributes - DOCUMENT ME!
      • attributeCount

        int attributeCount()
        DOCUMENT ME!
        Returns:
        the number of attributes this element contains
      • attributeIterator

        Iterator<Attribute> attributeIterator()
        DOCUMENT ME!
        Returns:
        an iterator over the attributes of this element
      • attribute

        Attribute attribute​(int index)
        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 attribute​(String name)
        Returns the attribute with the given name
        Parameters:
        name - DOCUMENT ME!
        Returns:
        the attribute for the given local name in any namespace. If there are more than one attributes with the given local name in different namespaces then the first one is returned.
      • attribute

        Attribute attribute​(QName qName)
        DOCUMENT ME!
        Parameters:
        qName - is the fully qualified name
        Returns:
        the attribute for the given fully qualified name or null if it could not be found.
      • attributeValue

        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.
        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

        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.
        Parameters:
        name - is the name of the attribute value to be returned
        defaultValue - 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

        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.
        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

        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.
        Parameters:
        qName - is the fully qualified name
        defaultValue - 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

        void setAttributeValue​(String name,
                               String value)
        Deprecated.
        As of version 0.5. Please use addAttribute(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 updated
        value - is the attribute's value
      • setAttributeValue

        void setAttributeValue​(QName qName,
                               String value)
        Deprecated.
        As of version 0.5. Please use addAttribute(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 updated
        value - is the attribute's value
      • element

        Element element​(String name)
        Returns the first element for the given local name and any namespace.
        Parameters:
        name - DOCUMENT ME!
        Returns:
        the first element with the given local name
      • element

        Element element​(QName qName)
        Returns the first element for the given fully qualified name.
        Parameters:
        qName - is the fully qualified name to search for
        Returns:
        the first element with the given fully qualified name
      • elements

        List<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

        List<Element> 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.
        Parameters:
        name - DOCUMENT ME!
        Returns:
        a list of all the elements in this element for the given local name
      • elements

        List<Element> 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.
        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

        Iterator<Element> elementIterator()
        Returns an iterator over all this elements child elements.
        Returns:
        an iterator over the contained elements
      • elementIterator

        Iterator<Element> elementIterator​(String name)
        Returns an iterator over the elements contained in this element which match the given local name and any namespace.
        Parameters:
        name - DOCUMENT ME!
        Returns:
        an iterator over the contained elements matching the given local name
      • elementIterator

        Iterator<Element> elementIterator​(QName qName)
        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 this Element has 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 this Element has text only content.
        Returns:
        true if this element is empty or only contains text content.
      • appendAttributes

        void appendAttributes​(Element element)
        Appends the attributes of the given element to me. This method behaves like the Collection.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

        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.
        Parameters:
        name - DOCUMENT ME!
        Returns:
        a new deep copy Element
      • createCopy

        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.
        Parameters:
        qName - DOCUMENT ME!
        Returns:
        a new deep copy Element
      • elementTextTrim

        String elementTextTrim​(QName qname)
      • getXPathResult

        Node getXPathResult​(int index)
        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.