net.sf.saxon.dom
Class ElementOverNodeInfo

java.lang.Object
  extended by net.sf.saxon.dom.NodeOverNodeInfo
      extended by 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.