net.sf.saxon.tinytree
Class TinyProcInstImpl

java.lang.Object
  extended by net.sf.saxon.tinytree.TinyNodeImpl
      extended by net.sf.saxon.tinytree.TinyProcInstImpl
All Implemented Interfaces:
Source, SourceLocator, PullEvent, FingerprintedNode, Item, NodeInfo, ValueRepresentation

final class TinyProcInstImpl
extends TinyNodeImpl

TProcInstImpl is an implementation of ProcInstInfo

Version:
16 July 1999
Author:
Michael H. Kay

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
TinyProcInstImpl(TinyTree tree, int nodeNr)
           
 
Method Summary
 Value atomize()
          Get the typed value of this node.
 void copy(Receiver out, int whichNamespaces, boolean copyAnnotations, int locationId)
          Copy this node to a given outputter
 String getBaseURI()
          Get the base URI of this processing instruction node.
 String getData()
          The content of this processing instruction.
 int getNodeKind()
          Get the kind of node.
 String getStringValue()
          Return the string value of the node as defined in the XPath data model.
 String getTarget()
          The target of this processing instruction.
 SequenceIterator getTypedValue()
          Get the typed value of this node.
 
Methods inherited from class net.sf.saxon.tinytree.TinyNodeImpl
compareOrder, equals, generateId, getAttributeValue, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNodeNumber, getParent, getParentNodeNr, getPrefix, getPublicId, getRoot, getSequenceNumber, getStringValueCS, getSystemId, getTree, getTypeAnnotation, getURI, hasChildNodes, hashCode, isAncestorOrSelf, isId, isIdref, isNilled, isSameNodeInfo, iterateAxis, iterateAxis, setParentNode, setSystemId
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TinyProcInstImpl

public TinyProcInstImpl(TinyTree tree,
                        int nodeNr)
Method Detail

getStringValue

public String getStringValue()
Description copied from interface: NodeInfo
Return the string value of the node as defined in the XPath data model.

The interpretation of this depends on the type of node. For an element it is the accumulated character content of the element, including descendant elements.

This method returns the string value as if the node were untyped. Unlike the string value accessor in the XPath 2.0 data model, it does not report an error if the element has a complex type, instead it returns the concatenation of the descendant text nodes as it would if the element were untyped.

Returns:
the string value of the node
See Also:
Item.getStringValueCS()

getTypedValue

public SequenceIterator getTypedValue()
Get the typed value of this node. Returns the string value, as an instance of xs:string

Returns:
an iterator over the items in the typed value of the node or atomic value. The items returned by this iterator will always be atomic values.

atomize

public Value atomize()
Get the typed value of this node. Returns the string value, as an instance of xs:string

Returns:
the typed value. This will either be a single AtomicValue or a Value whose items are atomic values.

getNodeKind

public final int getNodeKind()
Description copied from interface: NodeInfo
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.

Returns:
an integer identifying the kind of node. These integer values are the same as those used in the DOM
See Also:
Type

getBaseURI

public String getBaseURI()
Get the base URI of this processing instruction node.

Specified by:
getBaseURI in interface NodeInfo
Overrides:
getBaseURI in class TinyNodeImpl
Returns:
the base URI of the node. This may be null if the base URI is unknown.

copy

public void copy(Receiver out,
                 int whichNamespaces,
                 boolean copyAnnotations,
                 int locationId)
          throws XPathException
Copy this node to a given outputter

Parameters:
out - 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.
whichNamespaces - in the case of an element, controls which namespace nodes should be copied. Values are NodeInfo.NO_NAMESPACES, NodeInfo.LOCAL_NAMESPACES, NodeInfo.ALL_NAMESPACES
copyAnnotations - indicates whether the type annotations of element and attribute nodes should be copied
locationId - 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
Throws:
XPathException

getTarget

public String getTarget()
The target of this processing instruction. XML defines this as being the first token following the markup that begins the processing instruction.

Returns:
the "target", or in XDM terms, the name of the processing instruction

getData

public String getData()
The content of this processing instruction. This is from the first non white space character after the target to the character immediately preceding the ?> .

Returns:
the content of the processing instruction (in XDM this is the same as its string value)