|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.tinytree.TinyNodeImpl
net.sf.saxon.tinytree.TinyParentNodeImpl
net.sf.saxon.tinytree.TinyElementImpl
final class TinyElementImpl
A node in the XML parse tree representing an XML element.
This class is an implementation of NodeInfo. The object is a wrapper around one entry in the arrays maintained by the TinyTree. Note that the same node might be represented by different TinyElementImpl objects at different times.
Field Summary |
---|
Fields inherited from class net.sf.saxon.tinytree.TinyNodeImpl |
---|
NODE_LETTER, nodeNr, parent, tree |
Fields inherited from interface net.sf.saxon.om.NodeInfo |
---|
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, LOCAL_NAMESPACES, NO_NAMESPACES |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Constructor Summary | |
---|---|
TinyElementImpl(TinyTree tree,
int nodeNr)
Constructor |
Method Summary | |
---|---|
void |
copy(Receiver receiver,
int whichNamespaces,
boolean copyAnnotations,
int locationId)
Copy this node to a given receiver |
java.lang.String |
getAttributeValue(int fingerprint)
Get the value of a given attribute of this node |
java.lang.String |
getBaseURI()
Get the base URI of this element node. |
int[] |
getDeclaredNamespaces(int[] buffer)
Get all namespace undeclarations and undeclarations defined on this element. |
(package private) static int[] |
getDeclaredNamespaces(TinyTree tree,
int nodeNr,
int[] buffer)
Static method to get all namespace undeclarations and undeclarations defined on a given element, without instantiating the node object. |
(package private) static int[] |
getInScopeNamespaces(TinyTree tree,
int nodeNr,
int[] buffer)
Get all the inscope namespaces for an element node. |
int |
getNodeKind()
Return the type of node. |
int |
getTypeAnnotation()
Get the type annotation of this node, if any Returns Type.UNTYPED_ANY if there is no type annotation |
java.lang.String |
getURIForPrefix(java.lang.String prefix,
boolean useDefault)
Get the namespace URI corresponding to a given prefix. |
void |
sendNamespaceDeclarations(Receiver out,
boolean includeAncestors)
Output all namespace nodes associated with this element. |
Methods inherited from class net.sf.saxon.tinytree.TinyParentNodeImpl |
---|
getStringValue, getStringValue, getStringValueCS, hasChildNodes |
Methods inherited from class net.sf.saxon.tinytree.TinyNodeImpl |
---|
atomize, compareOrder, equals, generateId, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getParent, getParentNodeNr, getPrefix, getPublicId, getRoot, getSequenceNumber, getSystemId, getTypedValue, getURI, hashCode, isAncestorOrSelf, isSameNodeInfo, iterateAxis, iterateAxis, setParentNode, setSystemId |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TinyElementImpl(TinyTree tree, int nodeNr)
Method Detail |
---|
public final int getNodeKind()
Type
public java.lang.String getBaseURI()
getBaseURI
in interface NodeInfo
getBaseURI
in class TinyNodeImpl
public int getTypeAnnotation()
getTypeAnnotation
in interface NodeInfo
getTypeAnnotation
in class TinyNodeImpl
The result is undefined for nodes other than elements and attributes.
public void sendNamespaceDeclarations(Receiver out, boolean includeAncestors) throws XPathException
sendNamespaceDeclarations
in interface NodeInfo
sendNamespaceDeclarations
in class TinyNodeImpl
out
- The relevant outputterincludeAncestors
- True if namespaces associated with ancestor
XPathException
public int[] getDeclaredNamespaces(int[] buffer)
getDeclaredNamespaces
in interface NodeInfo
getDeclaredNamespaces
in class TinyNodeImpl
buffer
- If this is non-null, and the result array fits in this buffer, then the result
may overwrite the contents of this array, to avoid the cost of allocating a new array on the heap.
For a node other than an element, the method returns null.
static final int[] getDeclaredNamespaces(TinyTree tree, int nodeNr, int[] buffer)
tree
- The tree containing the given element nodenodeNr
- The node number of the given element node within the tinyTreebuffer
- If this is non-null, and the result array fits in this buffer, then the result
may overwrite the contents of this array, to avoid the cost of allocating a new array on the heap.
For a node other than an element, the method returns null.
static final int[] getInScopeNamespaces(TinyTree tree, int nodeNr, int[] buffer)
NamespaceIterator
because it doesn't require the element node
(or its ancestors) to be instantiated as objects.
tree
- the TinyTree containing the element node whose in-scope namespaces are requirednodeNr
- the node number of the element node within the TinyTree. The caller is responsible
for ensuring that this is indeed an element nodebuffer
- a buffer to hold the result, assuming it is large enough
public java.lang.String getAttributeValue(int fingerprint)
getAttributeValue
in interface NodeInfo
getAttributeValue
in class TinyNodeImpl
fingerprint
- The fingerprint of the attribute name
public void copy(Receiver receiver, int whichNamespaces, boolean copyAnnotations, int locationId) throws XPathException
whichNamespaces
- indicates which namespaces should be copied: all, none,
or local (i.e., those not declared on a parent element)receiver
- the Receiver to which the node should be copiedcopyAnnotations
- indicates whether the type annotations
of element and attribute nodes should be copiedlocationId
- If non-zero, identifies the location of the instruction
that requested this copy. If zero, indicates that the location information
for the original node is to be copied; in this case the Receiver must be
a LocationCopier
XPathException
public java.lang.String getURIForPrefix(java.lang.String prefix, boolean useDefault)
prefix
- the namespace prefix. May be the zero-length string, indicating
that there is no prefix. This indicates either the default namespace or the
null namespace, depending on the value of useDefault.useDefault
- true if the default namespace is to be used when the
prefix is "". If false, the method returns "" when the prefix is "".
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |