|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.tinytree.TinyNodeImpl net.sf.saxon.tinytree.TinyParentNodeImpl net.sf.saxon.tinytree.TinyElementImpl
public 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, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES |
Fields inherited from interface net.sf.saxon.om.ValueRepresentation |
---|
EMPTY_VALUE_ARRAY |
Constructor Summary | |
---|---|
TinyElementImpl(TinyTree tree,
int nodeNr)
Constructor - create a tiny element node |
Method Summary | |
---|---|
Value |
atomize()
Get the typed value. |
void |
copy(Receiver receiver,
int whichNamespaces,
boolean copyAnnotations,
int locationId)
Copy this node to a given receiver |
String |
getAttributeValue(int fingerprint)
Get the value of a given attribute of this node |
String |
getBaseURI()
Get the base URI of this element node. |
int[] |
getDeclaredNamespaces(int[] buffer)
Get all namespace undeclarations and undeclarations defined on this element. |
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. |
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 |
SequenceIterator |
getTypedValue()
Get the typed value of this node. |
String |
getURIForPrefix(String prefix,
boolean useDefault)
Get the namespace URI corresponding to a given prefix. |
boolean |
isId()
Determine whether this node has the is-id property |
boolean |
isIdref()
Determine whether this node has the is-idref property |
Methods inherited from class net.sf.saxon.tinytree.TinyParentNodeImpl |
---|
getStringValue, getStringValueCS, getStringValueCS, hasChildNodes |
Methods inherited from class net.sf.saxon.tinytree.TinyNodeImpl |
---|
compareOrder, equals, generateId, getColumnNumber, getConfiguration, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNodeNumber, getParent, getPrefix, getPublicId, getRoot, getSequenceNumber, getSystemId, getTree, getURI, hashCode, isAncestorOrSelf, isNilled, 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)
tree
- the Tinytree containing the nodenodeNr
- the node numberMethod Detail |
---|
public final int getNodeKind()
Type
public String getBaseURI()
getBaseURI
in interface NodeInfo
getBaseURI
in class TinyNodeImpl
public int getTypeAnnotation()
getTypeAnnotation
in interface NodeInfo
getTypeAnnotation
in class TinyNodeImpl
For elements and attributes, this is the type annotation as defined in XDM. For document nodes, it should be one of XS_UNTYPED if the document has not been validated, or XS_ANY_TYPE if validation has taken place (that is, if any node in the document has an annotation other than Untyped or UntypedAtomic).
public SequenceIterator getTypedValue() throws XPathException
XPathException
- where no typed value is available, for example in the case of
an element with complex contentpublic Value atomize() throws XPathException
Item.getTypedValue()
. However, this method is often more convenient and may be
more efficient, especially in the common case where the value is expected to be a singleton.
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.
public static 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.
public static 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 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 copied. It is the caller's
responsibility to ensure that this Receiver is open before the method is called
(or that it is self-opening), and that it is closed after use.copyAnnotations
- 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 String getURIForPrefix(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 "".
public boolean isId()
isId
in interface NodeInfo
isId
in class TinyNodeImpl
public boolean isIdref()
isIdref
in interface NodeInfo
isIdref
in class TinyNodeImpl
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |