Class ProcInstImpl

java.lang.Object
net.sf.saxon.tree.linked.NodeImpl
net.sf.saxon.tree.linked.ProcInstImpl
All Implemented Interfaces:
Source, SourceLocator, PullEvent, FingerprintedNode, Item<NodeInfo>, MutableNodeInfo, NodeInfo, ValueRepresentation<NodeInfo>, SiblingCountingNode

class ProcInstImpl extends NodeImpl
ProcInstImpl is an implementation of ProcInstInfo used by the Propagator to construct its trees.
Author:
Michael H. Kay
  • Field Details

    • content

      String content
    • nameCode

      int nameCode
    • systemId

      String systemId
    • lineNumber

      int lineNumber
  • Constructor Details

    • ProcInstImpl

      public ProcInstImpl(int nameCode, String content)
  • Method Details

    • getNameCode

      public int getNameCode()
      Get the nameCode of the node. This is used to locate the name in the NamePool
      Specified by:
      getNameCode in interface NodeInfo
      Overrides:
      getNameCode in class NodeImpl
      Returns:
      an integer name code, which may be used to obtain the actual node name from the name pool. For unnamed nodes (text nodes, comments, document nodes, and namespace nodes for the default namespace), returns -1.
      See Also:
    • 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:
    • getTypedValue

      public SequenceIterator getTypedValue()
      Get the typed value of this node. Returns the string value, as an instance of xs:string
      Specified by:
      getTypedValue in interface Item<NodeInfo>
      Overrides:
      getTypedValue in class NodeImpl
      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
      Specified by:
      atomize in interface NodeInfo
      Overrides:
      atomize in class NodeImpl
      Returns:
      the typed value. If requireSingleton is set to true, the result will always be an AtomicValue. In other cases it may be a Value representing a sequence 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:
    • setLocation

      public void setLocation(String uri, int lineNumber)
      Set the system ID and line number
      Parameters:
      uri - the system identifier
      lineNumber - the line number
    • getSystemId

      public String getSystemId()
      Get the system ID for the entity containing this node.
      Specified by:
      getSystemId in interface NodeInfo
      Specified by:
      getSystemId in interface Source
      Specified by:
      getSystemId in interface SourceLocator
      Overrides:
      getSystemId in class NodeImpl
      Returns:
      the system identifier
    • getLineNumber

      public int getLineNumber()
      Get the line number of the node within its source entity
      Specified by:
      getLineNumber in interface NodeInfo
      Specified by:
      getLineNumber in interface SourceLocator
      Overrides:
      getLineNumber in class NodeImpl
      Returns:
      the line number of the node in its original source document; or -1 if not available
    • copy

      public void copy(Receiver out, int copyOptions, 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.
      copyOptions - a selection of the options defined in CopyOptions
      locationId - If non-zero, identifies the location of the instruction that requested this copy. If zero, indicates that the location information
      Throws:
      XPathException - if any downstream error occurs
    • rename

      public void rename(NodeName newNameCode)
      Rename this node
      Specified by:
      rename in interface MutableNodeInfo
      Overrides:
      rename in class NodeImpl
      Parameters:
      newNameCode - the NamePool code of the new name
    • replaceStringValue

      public void replaceStringValue(CharSequence stringValue)
      Replace the string-value of this node
      Parameters:
      stringValue - the new string value