com.icl.saxon.tinytree
Class TinyElementImpl

java.lang.Object
  |
  +--com.icl.saxon.om.AbstractNode
        |
        +--com.icl.saxon.tinytree.TinyNodeImpl
              |
              +--com.icl.saxon.tinytree.TinyParentNodeImpl
                    |
                    +--com.icl.saxon.tinytree.TinyElementImpl
All Implemented Interfaces:
javax.xml.transform.dom.DOMLocator, org.w3c.dom.Element, org.w3c.dom.Node, NodeInfo, javax.xml.transform.Source, javax.xml.transform.SourceLocator

final class TinyElementImpl
extends TinyParentNodeImpl
implements org.w3c.dom.Element

A node in the XML parse tree representing an XML element.

This class is an implementation of NodeInfo and also implements the DOM Element interface

Author:
Fields inherited from class com.icl.saxon.tinytree.TinyNodeImpl
document, nodeNr, parent
 
Fields inherited from class com.icl.saxon.om.AbstractNode
NODE_LETTER
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface com.icl.saxon.om.NodeInfo
ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT
 
Constructor Summary
TinyElementImpl(TinyDocumentImpl doc, int nodeNr)
          Constructor
 
Method Summary
 void copy(Outputter out)
          Copy this node to a given outputter (supporting xsl:copy-of)
 void copy(Outputter out, boolean allNamespaces)
          Copy this node to a given outputter
 java.lang.String getAttributeValue(int fingerprint)
          Get the value of a given attribute of this node
 java.lang.String getAttributeValue(java.lang.String uri, java.lang.String localName)
          Find the value of a given attribute of this node.
 java.lang.String getBaseURI()
          Get the base URI of this element node.
 short getNodeType()
          Return the type of node.
 boolean hasAttributes()
          Returns whether this node (if it is an element) has any attributes.
 TinyAttributeImpl makeAttributeNode(int index)
          Make an attribute node for a given attribute of this element
 void outputNamespaceNodes(Outputter out, boolean includeAncestors)
          Output all namespace nodes associated with this element.
 void setAttribute(java.lang.String name, java.lang.String value)
          Set the value of an attribute on the current element.
 
Methods inherited from class com.icl.saxon.tinytree.TinyParentNodeImpl
copyStringValue, getStringValue, hasChildNodes
 
Methods inherited from class com.icl.saxon.tinytree.TinyNodeImpl
compareOrder, generateId, getDisplayName, getDocumentRoot, getEnumeration, getFingerprint, getLineNumber, getLocalName, getNameCode, getOriginatingNode, getParent, getPrefix, getSequenceNumber, getSystemId, getURI, isSameNode, setLineNumber, setParentNode, setSystemId
 
Methods inherited from class com.icl.saxon.om.AbstractNode
appendChild, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getChildNodes, getColumnNumber, getData, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getFirstChild, getImplementation, getLastChild, getLength, getName, getNamespaceURI, getNextSibling, getNodeName, getNodeValue, getOwnerDocument, getOwnerElement, getParentNode, getPreviousSibling, getPublicId, getSpecified, getTagName, getValue, hasAttribute, hasAttributeNS, importNode, insertBefore, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceChild, replaceData, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setNodeValue, setPrefix, setValue, splitText, substringData, supports
 
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.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttributeNode, setAttributeNodeNS, setAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 

Constructor Detail

TinyElementImpl

public TinyElementImpl(TinyDocumentImpl doc,
                       int nodeNr)
Constructor
Method Detail

getNodeType

public final short getNodeType()
Return the type of node.
Specified by:
getNodeType in interface org.w3c.dom.Node
Returns:
NodeInfo.ELEMENT

getBaseURI

public java.lang.String getBaseURI()
Get the base URI of this element node. This will be the same as the System ID unless xml:base has been used.
Overrides:
getBaseURI in class TinyNodeImpl

outputNamespaceNodes

public void outputNamespaceNodes(Outputter out,
                                 boolean includeAncestors)
                          throws javax.xml.transform.TransformerException
Output all namespace nodes associated with this element.
Overrides:
outputNamespaceNodes in class TinyNodeImpl
Parameters:
out - The relevant outputter
includeAncestors - True if namespaces associated with ancestor elements must also be output; false if these are already known to be on the result tree.

hasAttributes

public boolean hasAttributes()
Returns whether this node (if it is an element) has any attributes.
Specified by:
hasAttributes in interface org.w3c.dom.Node
Overrides:
hasAttributes in class TinyNodeImpl
Returns:
true if this node has any attributes, false otherwise.
Since:
DOM Level 2

getAttributeValue

public java.lang.String getAttributeValue(java.lang.String uri,
                                          java.lang.String localName)
Find the value of a given attribute of this node.
This method is defined on all nodes to meet XSL requirements, but for nodes other than elements it will always return null.
Overrides:
getAttributeValue in class TinyNodeImpl
Parameters:
uri - the namespace uri of an attribute
localName - the local name of an attribute
Returns:
the value of the attribute, if it exists, otherwise null

getAttributeValue

public java.lang.String getAttributeValue(int fingerprint)
Get the value of a given attribute of this node
Overrides:
getAttributeValue in class TinyNodeImpl
Parameters:
fingerprint - The fingerprint of the attribute name
Returns:
the attribute value if it exists or null if not

makeAttributeNode

public TinyAttributeImpl makeAttributeNode(int index)
Make an attribute node for a given attribute of this element
Parameters:
index - The relative position of the attribute, counting from zero. This is trusted to be in range.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
                  throws org.w3c.dom.DOMException
Set the value of an attribute on the current element. This affects subsequent calls of getAttribute() for that element.
Specified by:
setAttribute in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute to be set. Any prefix is interpreted relative to the namespaces defined for this element.
value - The new value of the attribute. Set this to null to remove the attribute.

copy

public void copy(Outputter out)
          throws javax.xml.transform.TransformerException
Copy this node to a given outputter (supporting xsl:copy-of)

copy

public void copy(Outputter out,
                 boolean allNamespaces)
          throws javax.xml.transform.TransformerException
Copy this node to a given outputter
Parameters:
allNamespaces - true if all namespace nodes must be copied; false if namespace nodes for the parent element are already on the result tree