## net.sf.saxon.dom
Class ElementOverNodeInfo

    java.lang.Object
      net.sf.saxon.dom.NodeOverNodeInfo
          net.sf.saxon.dom.ElementOverNodeInfo

All Implemented Interfaces:
  org.w3c.dom.Element, org.w3c.dom.Node

    public class ElementOverNodeInfo

extends NodeOverNodeInfo
implements org.w3c.dom.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.

Field Summary

Fields inherited from class net.sf.saxon.dom.NodeOverNodeInfo
`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_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Constructor Summary
`ElementOverNodeInfo()`

Method Summary
`java.lang.String` `getAttribute(java.lang.String name)` Retrieves an attribute value by name.
`org.w3c.dom.Attr` `getAttributeNode(java.lang.String name)` Retrieves an attribute node by name.
`org.w3c.dom.Attr` `getAttributeNodeNS(java.lang.String namespaceURI, java.lang.String localName)` Retrieves an `Attr` node by local name and namespace URI.
`java.lang.String` `getAttributeNS(java.lang.String namespaceURI, java.lang.String localName)` Retrieves an attribute value by local name and namespace URI.
`org.w3c.dom.NodeList` `getElementsByTagName(java.lang.String name)` Returns a `NodeList` of all descendant `Elements` with a given tag name, in document order.
`org.w3c.dom.NodeList` `getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)` Returns a `NodeList` of all the descendant `Elements` with a given local name and namespace URI in document order.
`org.w3c.dom.TypeInfo` `getSchemaTypeInfo()` Get the schema type information for this node.
`java.lang.String` `getTagName()` The name of the element (DOM interface).
`boolean` `hasAttribute(java.lang.String name)` Returns `true` when an attribute with a given name is specified on this element or has a default value, `false` otherwise.
`boolean` `hasAttributeNS(java.lang.String namespaceURI, java.lang.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.
`void` `removeAttribute(java.lang.String oldAttr)` Removes the specified attribute.
`org.w3c.dom.Attr` `removeAttributeNode(org.w3c.dom.Attr oldAttr)` Removes the specified attribute node.
`void` `removeAttributeNS(java.lang.String namespaceURI, java.lang.String localName)` Removes an attribute by local name and namespace URI.
`void` `setAttribute(java.lang.String name, java.lang.String value)` Adds a new attribute.
`org.w3c.dom.Attr` `setAttributeNode(org.w3c.dom.Attr newAttr)` Adds a new attribute node.
`org.w3c.dom.Attr` `setAttributeNodeNS(org.w3c.dom.Attr newAttr)` Add a new attribute.
`void` `setAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String value)` Adds a new attribute.
`void` `setIdAttribute(java.lang.String name, boolean isId)` Mark an attribute as an ID.
`void` `setIdAttributeNode(org.w3c.dom.Attr idAttr, boolean isId)` Mark an attribute as an ID.
`void` `setIdAttributeNS(java.lang.String namespaceURI, java.lang.String localName, boolean isId)` Mark an attribute as an ID.

Methods inherited from class net.sf.saxon.dom.NodeOverNodeInfo

`appendChild, cloneNode, compareDocumentPosition, disallowUpdate, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUnderlyingNodeInfo, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData, wrap`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.w3c.dom.Node

`appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData`

Constructor Detail

### ElementOverNodeInfo

    public ElementOverNodeInfo()

Method Detail

### getTagName

    public java.lang.String getTagName()

  The name of the element (DOM interface).

  Specified by:
    `getTagName` in interface `org.w3c.dom.Element`

### getElementsByTagName

    public org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)

  Returns a `NodeList` of all descendant `Elements` with a given tag name, in document order.

  Specified by:
    `getElementsByTagName` in interface `org.w3c.dom.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 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                                       java.lang.String localName)
                                                throws org.w3c.dom.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 `org.w3c.dom.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:
    `org.w3c.dom.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

### getAttribute

    public java.lang.String getAttribute(java.lang.String name)

  Retrieves an attribute value by name. This implementation does not expose namespace nodes as attributes.

  Specified by:
    `getAttribute` in interface `org.w3c.dom.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 org.w3c.dom.Attr getAttributeNode(java.lang.String name)

  Retrieves an attribute node by name. This implementation does not expose namespace nodes as attributes.
  To retrieve an attribute node by qualified name and namespace URI, use the `getAttributeNodeNS` method.

  Specified by:
    `getAttributeNode` in interface `org.w3c.dom.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.

### setAttributeNode

    public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
                                      throws org.w3c.dom.DOMException

  Adds a new attribute node. Always fails

  Specified by:
    `setAttributeNode` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

### removeAttribute

    public void removeAttribute(java.lang.String oldAttr)
                         throws org.w3c.dom.DOMException

  Removes the specified attribute. Always fails

  Specified by:
    `removeAttribute` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

### removeAttributeNode

    public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
                                         throws org.w3c.dom.DOMException

  Removes the specified attribute node. Always fails

  Specified by:
    `removeAttributeNode` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

### getAttributeNS

    public java.lang.String getAttributeNS(java.lang.String namespaceURI,
                                           java.lang.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 `org.w3c.dom.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(java.lang.String name,
                             java.lang.String value)
                      throws org.w3c.dom.DOMException

  Adds a new attribute. Always fails

  Specified by:
    `setAttribute` in interface `org.w3c.dom.Element`
  Parameters:
    `name` - The name of the attribute to create or alter.
    `value` - Value to set in string form.
  Throws:
    `org.w3c.dom.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(java.lang.String namespaceURI,
                               java.lang.String qualifiedName,
                               java.lang.String value)
                        throws org.w3c.dom.DOMException

  Adds a new attribute. Always fails.

  Specified by:
    `setAttributeNS` in interface `org.w3c.dom.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:
    `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

### removeAttributeNS

    public void removeAttributeNS(java.lang.String namespaceURI,
                                  java.lang.String localName)
                           throws org.w3c.dom.DOMException

  Removes an attribute by local name and namespace URI. Always fails

  Specified by:
    `removeAttributeNS` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException` - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
  Since:
    DOM Level 2

### getAttributeNodeNS

    public org.w3c.dom.Attr getAttributeNodeNS(java.lang.String namespaceURI,
                                               java.lang.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 `org.w3c.dom.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 org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
                                        throws org.w3c.dom.DOMException

  Add a new attribute. Always fails.

  Specified by:
    `setAttributeNodeNS` in interface `org.w3c.dom.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:
    `org.w3c.dom.DOMException` -
    NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
  Since:
    DOM Level 2

### hasAttribute

    public boolean hasAttribute(java.lang.String name)

  Returns `true` when an attribute with a given name is specified on this element or has a default value, `false` otherwise. This implementation does not expose namespace nodes as attributes.

  Specified by:
    `hasAttribute` in interface `org.w3c.dom.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(java.lang.String namespaceURI,
                                  java.lang.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. This implementation does not expose namespace nodes as attributes.

  Specified by:
    `hasAttributeNS` in interface `org.w3c.dom.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

### setIdAttribute

    public void setIdAttribute(java.lang.String name,
                               boolean isId)
                        throws org.w3c.dom.DOMException

  Mark an attribute as an ID. Always fails.

  Specified by:
    `setIdAttribute` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException`

### setIdAttributeNS

    public void setIdAttributeNS(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 boolean isId)
                          throws org.w3c.dom.DOMException

  Mark an attribute as an ID. Always fails.

  Specified by:
    `setIdAttributeNS` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException`

### setIdAttributeNode

    public void setIdAttributeNode(org.w3c.dom.Attr idAttr,
                                   boolean isId)
                            throws org.w3c.dom.DOMException

  Mark an attribute as an ID. Always fails.

  Specified by:
    `setIdAttributeNode` in interface `org.w3c.dom.Element`
  Throws:
    `org.w3c.dom.DOMException`

### getSchemaTypeInfo

    public org.w3c.dom.TypeInfo getSchemaTypeInfo()

  Get the schema type information for this node.

  Specified by:
    `getSchemaTypeInfo` in interface `org.w3c.dom.Element`
  Returns:
    the type information. Returns null for an untyped node.

Copyright (c) Saxonica Limited. All rights reserved.