net.sf.saxon.pull

Class UnconstructedDocument

Implemented Interfaces:
DocumentInfo, Item, NodeInfo, Source, NodeInfo, PullEvent, ValueRepresentation

public class UnconstructedDocument
extends UnconstructedParent
implements DocumentInfo

A document node whose construction is deferred. (TODO) NOTE: this class is an exception to the general rule that for document nodes, node identity implies object identity

Field Summary

Fields inherited from class net.sf.saxon.pull.UnconstructedParent

instruction, node, savedXPathContext

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.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

UnconstructedDocument(DocumentInstr instruction, XPathContext context)
Create an unconstructed (pending) document node

Method Summary

String
getDisplayName()
Get the display name of this node.
DocumentInfo
getDocumentRoot()
Get the root node, if it is a document node.
int
getFingerprint()
Get fingerprint.
String
getLocalPart()
Get the local part of the name of this node.
int
getNameCode()
Get name code.
int
getNodeKind()
Get the kind of node.
String
getPrefix()
Get the prefix of the name of the node.
String
getURI()
Get the URI part of the name of this node.
String[]
getUnparsedEntity(String name)
Get the unparsed entity with a given name
NodeInfo
selectID(String id)
Get the element with a given ID, if any

Methods inherited from class net.sf.saxon.pull.UnconstructedParent

atomize, compareOrder, copy, equals, generateId, getAttributeValue, getBaseURI, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getInstruction, getLineNumber, getLocalPart, getNamePool, getParent, getPrefix, getPuller, getRoot, getStringValue, getStringValueCS, getSystemId, getTypeAnnotation, getTypedValue, getURI, getXPathContext, hasChildNodes, hashCode, isSameNodeInfo, iterateAxis, iterateAxis, setSystemId

Constructor Details

UnconstructedDocument

public UnconstructedDocument(DocumentInstr instruction,
                             XPathContext context)
Create an unconstructed (pending) document node
Parameters:
instruction - the instruction responsible for creating the node
context - the XPath dynamic context

Method Details

getDisplayName

public String getDisplayName()
Get the display name of this node. For elements and attributes this is [prefix:]localname. For unnamed nodes, it is an empty string.
Specified by:
getDisplayName in interface NodeInfo
Overrides:
getDisplayName in interface UnconstructedParent
Returns:
The display name of this node. For a node with no name, return an empty string.

getDocumentRoot

public DocumentInfo getDocumentRoot()
Get the root node, if it is a document node.
Specified by:
getDocumentRoot in interface NodeInfo
Overrides:
getDocumentRoot in interface UnconstructedParent
Returns:
the DocumentInfo representing the containing document. If this node is part of a tree that does not have a document node as its root, return null.

getFingerprint

public int getFingerprint()
Get fingerprint. The fingerprint is a coded form of the expanded name of the node: two nodes with the same name code have the same namespace URI and the same local name. A fingerprint of -1 should be returned for a node with no name.
Specified by:
getFingerprint in interface NodeInfo
Overrides:
getFingerprint in interface UnconstructedParent
Returns:
an integer fingerprint; two nodes with the same fingerprint have the same expanded QName

getLocalPart

public String getLocalPart()
Get the local part of the name of this node. This is the name after the ":" if any.
Specified by:
getLocalPart in interface NodeInfo
Overrides:
getLocalPart in interface UnconstructedParent
Returns:
the local part of the name. For an unnamed node, returns "". Unlike the DOM interface, this returns the full name in the case of a non-namespaced name.

getNameCode

public int getNameCode()
Get name code. The name code is a coded form of the node name: two nodes with the same name code have the same namespace URI, the same local name, and the same prefix. By masking the name code with &0xfffff, you get a fingerprint: two nodes with the same fingerprint have the same local name and namespace URI.
Specified by:
getNameCode in interface NodeInfo
Returns:
an integer name code, which may be used to obtain the actual node name from the name pool
See Also:
allocate, getFingerprint

getNodeKind

public int getNodeKind()
Get the kind of node. This will be a value such as Type.ELEMENT or Type.ATTRIBUTE. There are seven kinds of node: documents, elements, attributes, text, comments, processing-instructions, and namespaces.
Specified by:
getNodeKind in interface NodeInfo
Returns:
an integer identifying the kind of node. These integer values are the same as those used in the DOM
Since:
8.4
See Also:
Type

getPrefix

public String getPrefix()
Get the prefix of the name of the node. This is defined only for elements and attributes. If the node has no prefix, or for other kinds of node, return a zero-length string.
Specified by:
getPrefix in interface NodeInfo
Overrides:
getPrefix in interface UnconstructedParent
Returns:
The prefix of the name of the node.

getURI

public String getURI()
Get the URI part of the name of this node. This is the URI corresponding to the prefix, or the URI of the default namespace if appropriate.
Specified by:
getURI in interface NodeInfo
Overrides:
getURI in interface UnconstructedParent
Returns:
The URI of the namespace of this node. For an unnamed node, or for a node with an empty prefix, return an empty string.

getUnparsedEntity

public String[] getUnparsedEntity(String name)
Get the unparsed entity with a given name
Specified by:
getUnparsedEntity in interface DocumentInfo
Parameters:
name - the name of the entity
Returns:
if the entity exists, return an array of two Strings, the first holding the system ID of the entity, the second holding the public ID if there is one, or null if not. If the entity does not exist, the method returns null. Applications should be written on the assumption that this array may be extended in the future to provide additional information.
Since:
8.4

selectID

public NodeInfo selectID(String id)
Get the element with a given ID, if any
Specified by:
selectID in interface DocumentInfo
Parameters:
id - the required ID value
Returns:
the element with the given ID, or null if there is no such ID present (or if the parser has not notified attributes as being of type ID)
Since:
8.4