Class ElementOverNodeInfo

  • All Implemented Interfaces:
    Element, Node

    public class ElementOverNodeInfo
    extends NodeOverNodeInfo
    implements Element
    This class is an implementation of the DOM Element class that wraps a Saxon NodeInfo representation of an element node.

    The class provides read-only access to the tree; methods that request updates all fail with an UnsupportedOperationException.

    Note that contrary to the DOM specification, this implementation does not expose namespace declarations as attributes.

    • Constructor Detail

      • ElementOverNodeInfo

        public ElementOverNodeInfo()
    • Method Detail

      • getTagName

        public String getTagName()
        The name of the element (DOM interface).
        Specified by:
        getTagName in interface Element
      • getElementsByTagName

        public NodeList getElementsByTagName​(String name)
        Returns a NodeList of all descendant Elements with a given tag name, in document order.
        Specified by:
        getElementsByTagName in interface Element
        Parameters:
        name - The name of the tag to match on. The special value "*" matches all tags.
        Returns:
        A list of matching Element nodes.
      • getElementsByTagNameNS

        public NodeList getElementsByTagNameNS​(String namespaceURI,
                                               String localName)
                                        throws DOMException
        Returns a NodeList of all the descendant Elements with a given local name and namespace URI in document order.
        Specified by:
        getElementsByTagNameNS in interface Element
        Parameters:
        namespaceURI - The namespace URI of the elements to match on. The special value "*" matches all namespaces.
        localName - The local name of the elements to match on. The special value "*" matches all local names.
        Returns:
        A new NodeList object containing all the matched Elements.
        Throws:
        DOMException - NOT_SUPPORTED_ERR: May be raised if the implementation does not support the feature "XML" and the language exposed through the Document does not support XML Namespaces (such as [HTML 4.01]).
        Since:
        DOM Level 2
      • getAttributes

        public NamedNodeMap getAttributes()
        Return a NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise. Note that namespace declarations are treated as attributes.
        Specified by:
        getAttributes in interface Node
        Overrides:
        getAttributes in class NodeOverNodeInfo
      • getAttribute

        public String getAttribute​(String name)
        Retrieves an attribute value by name.
        Specified by:
        getAttribute in interface Element
        Parameters:
        name - The QName of the attribute to retrieve.
        Returns:
        The Attr value as a string, or the empty string if that attribute does not have a specified or default value.
      • getAttributeNode

        public Attr getAttributeNode​(String name)
        Retrieves an attribute node by name.
        To retrieve an attribute node by qualified name and namespace URI, use the getAttributeNodeNS method.
        Specified by:
        getAttributeNode in interface Element
        Parameters:
        name - The name (nodeName ) of the attribute to retrieve.
        Returns:
        The Attr node with the specified name ( nodeName ) or null if there is no such attribute.
      • removeAttribute

        public void removeAttribute​(String oldAttr)
                             throws DOMException
        Removes the specified attribute. Always fails
        Specified by:
        removeAttribute in interface Element
        Throws:
        DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      • getAttributeNS

        public String getAttributeNS​(String namespaceURI,
                                     String localName)
        Retrieves an attribute value by local name and namespace URI. This implementation does not expose namespace nodes as attributes.
        Specified by:
        getAttributeNS in interface Element
        Parameters:
        namespaceURI - The namespace URI of the attribute to retrieve.
        localName - The local name of the attribute to retrieve.
        Returns:
        The Attr value as a string, or the empty string if that attribute does not have a specified or default value.
        Since:
        DOM Level 2
      • setAttribute

        public void setAttribute​(String name,
                                 String value)
                          throws DOMException
        Adds a new attribute. Always fails
        Specified by:
        setAttribute in interface Element
        Parameters:
        name - The name of the attribute to create or alter.
        value - Value to set in string form.
        Throws:
        DOMException - INVALID_CHARACTER_ERR: Raised if the specified name is not an XML name according to the XML version in use specified in the Document.xmlVersion attribute.
        NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      • setAttributeNS

        public void setAttributeNS​(String namespaceURI,
                                   String qualifiedName,
                                   String value)
                            throws DOMException
        Adds a new attribute. Always fails.
        Specified by:
        setAttributeNS in interface Element
        Parameters:
        namespaceURI - The namespace URI of the attribute to create or alter.
        qualifiedName - The qualified name of the attribute to create or alter.
        value - The value to set in string form.
        Throws:
        DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
      • removeAttributeNS

        public void removeAttributeNS​(String namespaceURI,
                                      String localName)
                               throws DOMException
        Removes an attribute by local name and namespace URI. Always fails
        Specified by:
        removeAttributeNS in interface Element
        Throws:
        DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
        Since:
        DOM Level 2
      • getAttributeNodeNS

        public Attr getAttributeNodeNS​(String namespaceURI,
                                       String localName)
        Retrieves an Attr node by local name and namespace URI. This implementation does not expose namespace nodes as attributes.
        Specified by:
        getAttributeNodeNS in interface Element
        Parameters:
        namespaceURI - The namespace URI of the attribute to retrieve.
        localName - The local name of the attribute to retrieve.
        Returns:
        The Attr node with the specified attribute local name and namespace URI or null if there is no such attribute.
        Since:
        DOM Level 2
      • setAttributeNodeNS

        public Attr setAttributeNodeNS​(Attr newAttr)
                                throws DOMException
        Add a new attribute. Always fails.
        Specified by:
        setAttributeNodeNS in interface Element
        Parameters:
        newAttr - The Attr node to add to the attribute list.
        Returns:
        If the newAttr attribute replaces an existing attribute with the same local name and namespace URI , the replaced Attr node is returned, otherwise null is returned.
        Throws:
        DOMException -
        NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
        Since:
        DOM Level 2
      • hasAttribute

        public boolean hasAttribute​(String name)
        Returns true when an attribute with a given name is specified on this element or has a default value, false otherwise.
        Specified by:
        hasAttribute in interface Element
        Parameters:
        name - The name of the attribute to look for.
        Returns:
        true if an attribute with the given name is specified on this element or has a default value, false otherwise.
        Since:
        DOM Level 2
      • hasAttributeNS

        public boolean hasAttributeNS​(String namespaceURI,
                                      String localName)
        Returns true when an attribute with a given local name and namespace URI is specified on this element or has a default value, false otherwise.
        Specified by:
        hasAttributeNS in interface Element
        Parameters:
        namespaceURI - The namespace URI of the attribute to look for.
        localName - The local name of the attribute to look for.
        Returns:
        true if an attribute with the given local name and namespace URI is specified or has a default value on this element, false otherwise.
        Since:
        DOM Level 2
      • getSchemaTypeInfo

        public TypeInfo getSchemaTypeInfo()
        Get the schema type information for this node.
        Specified by:
        getSchemaTypeInfo in interface Element
        Returns:
        the type information. Returns null for an untyped node.