Package net.sf.saxon.dom
Class ElementOverNodeInfo
- java.lang.Object
-
- net.sf.saxon.dom.NodeOverNodeInfo
-
- net.sf.saxon.dom.ElementOverNodeInfo
-
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.
-
-
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
Constructors Constructor Description ElementOverNodeInfo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getAttribute(String name)
Retrieves an attribute value by name.Attr
getAttributeNode(String name)
Retrieves an attribute node by name.Attr
getAttributeNodeNS(String namespaceURI, String localName)
Retrieves anAttr
node by local name and namespace URI.String
getAttributeNS(String namespaceURI, String localName)
Retrieves an attribute value by local name and namespace URI.NamedNodeMap
getAttributes()
Return aNamedNodeMap
containing the attributes of this node (if it is anElement
) ornull
otherwise.NodeList
getElementsByTagName(String name)
Returns aNodeList
of all descendantElements
with a given tag name, in document order.NodeList
getElementsByTagNameNS(String namespaceURI, String localName)
Returns aNodeList
of all the descendantElements
with a given local name and namespace URI in document order.TypeInfo
getSchemaTypeInfo()
Get the schema type information for this node.String
getTagName()
The name of the element (DOM interface).boolean
hasAttribute(String name)
Returnstrue
when an attribute with a given name is specified on this element or has a default value,false
otherwise.boolean
hasAttributeNS(String namespaceURI, String localName)
Returnstrue
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(String oldAttr)
Removes the specified attribute.Attr
removeAttributeNode(Attr oldAttr)
Removes the specified attribute node.void
removeAttributeNS(String namespaceURI, String localName)
Removes an attribute by local name and namespace URI.void
setAttribute(String name, String value)
Adds a new attribute.Attr
setAttributeNode(Attr newAttr)
Adds a new attribute node.Attr
setAttributeNodeNS(Attr newAttr)
Add a new attribute.void
setAttributeNS(String namespaceURI, String qualifiedName, String value)
Adds a new attribute.void
setIdAttribute(String name, boolean isId)
Mark an attribute as an ID.void
setIdAttributeNode(Attr idAttr, boolean isId)
Mark an attribute as an ID.void
setIdAttributeNS(String namespaceURI, String localName, boolean isId)
Mark an attribute as an ID.-
Methods inherited from class net.sf.saxon.dom.NodeOverNodeInfo
appendChild, cloneNode, compareDocumentPosition, disallowUpdate, equals, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUnderlyingNodeInfo, getUserData, hasAttributes, hasChildNodes, hashCode, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData, wrap
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, 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
-
-
-
-
Method Detail
-
getTagName
public String getTagName()
The name of the element (DOM interface).- Specified by:
getTagName
in interfaceElement
-
getElementsByTagName
public NodeList getElementsByTagName(String name)
Returns aNodeList
of all descendantElements
with a given tag name, in document order.- Specified by:
getElementsByTagName
in interfaceElement
- 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 aNodeList
of all the descendantElements
with a given local name and namespace URI in document order.- Specified by:
getElementsByTagNameNS
in interfaceElement
- 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 matchedElements
. - 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 aNamedNodeMap
containing the attributes of this node (if it is anElement
) ornull
otherwise. Note that namespace declarations are treated as attributes.- Specified by:
getAttributes
in interfaceNode
- Overrides:
getAttributes
in classNodeOverNodeInfo
-
getAttribute
public String getAttribute(String name)
Retrieves an attribute value by name.- Specified by:
getAttribute
in interfaceElement
- 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 thegetAttributeNodeNS
method.- Specified by:
getAttributeNode
in interfaceElement
- Parameters:
name
- The name (nodeName
) of the attribute to retrieve.- Returns:
- The
Attr
node with the specified name (nodeName
) ornull
if there is no such attribute.
-
setAttributeNode
public Attr setAttributeNode(Attr newAttr) throws DOMException
Adds a new attribute node. Always fails- Specified by:
setAttributeNode
in interfaceElement
- Throws:
DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-
removeAttribute
public void removeAttribute(String oldAttr) throws DOMException
Removes the specified attribute. Always fails- Specified by:
removeAttribute
in interfaceElement
- Throws:
DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
-
removeAttributeNode
public Attr removeAttributeNode(Attr oldAttr) throws DOMException
Removes the specified attribute node. Always fails- Specified by:
removeAttributeNode
in interfaceElement
- 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 interfaceElement
- 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 interfaceElement
- 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 theDocument.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 interfaceElement
- 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 interfaceElement
- 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 anAttr
node by local name and namespace URI. This implementation does not expose namespace nodes as attributes.- Specified by:
getAttributeNodeNS
in interfaceElement
- 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 ornull
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 interfaceElement
- Parameters:
newAttr
- TheAttr
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 replacedAttr
node is returned, otherwisenull
is returned. - Throws:
DOMException
-
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.- Since:
- DOM Level 2
-
hasAttribute
public boolean hasAttribute(String name)
Returnstrue
when an attribute with a given name is specified on this element or has a default value,false
otherwise.- Specified by:
hasAttribute
in interfaceElement
- 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)
Returnstrue
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 interfaceElement
- 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(String name, boolean isId) throws UnsupportedOperationException
Mark an attribute as an ID. Always fails.- Specified by:
setIdAttribute
in interfaceElement
- Throws:
UnsupportedOperationException
- always
-
setIdAttributeNS
public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws UnsupportedOperationException
Mark an attribute as an ID. Always fails.- Specified by:
setIdAttributeNS
in interfaceElement
- Throws:
UnsupportedOperationException
- always
-
setIdAttributeNode
public void setIdAttributeNode(Attr idAttr, boolean isId) throws UnsupportedOperationException
Mark an attribute as an ID. Always fails.- Specified by:
setIdAttributeNode
in interfaceElement
- Throws:
UnsupportedOperationException
- always
-
getSchemaTypeInfo
public TypeInfo getSchemaTypeInfo()
Get the schema type information for this node.- Specified by:
getSchemaTypeInfo
in interfaceElement
- Returns:
- the type information. Returns null for an untyped node.
-
-