Package net.sf.saxon.tree.linked

## Class ProcInstImpl

- java.lang.Object
- - net.sf.saxon.tree.linked.NodeImpl
  - - net.sf.saxon.tree.linked.ProcInstImpl

- All Implemented Interfaces:
    `javax.xml.transform.Source`, `javax.xml.transform.SourceLocator`, `GroundedValue`, `Item`, `MutableNodeInfo`, `NodeInfo`, `Sequence`, `Location`, `SteppingNode<NodeImpl>`, `SiblingCountingNode`, `org.xml.sax.Locator`

      public class ProcInstImpl
      extends NodeImpl

  ProcInstImpl is an implementation of ProcInstInfo used by the Propagator to construct its trees.

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.tree.linked.NodeImpl

      `NODE_LETTER`

    - ### Fields inherited from interface net.sf.saxon.om.NodeInfo

      `IS_DTD_TYPE, IS_NILLED`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProcInstImpl​(java.lang.String name, java.lang.String content)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AtomicSequence` | `atomize()` | Get the typed value of this node.
    `void` | `copy​(Receiver out, int copyOptions, Location locationId)` | Copy this node to a given outputter
    `int` | `getColumnNumber()` | Get the column number of the node within its source entity
    `int` | `getLineNumber()` | Get the line number of the node within its source entity
    `int` | `getNodeKind()` | Get the kind of node.
    `NodeName` | `getNodeName()` | Get the name of the node.
    `java.lang.String` | `getStringValue()` | Return the string value of the node as defined in the XPath data model.
    `java.lang.String` | `getSystemId()` | Get the system ID for the entity containing this node.
    `void` | `rename​(NodeName newNameCode, boolean inheritNamespaces)` | Rename this node
    `void` | `replaceStringValue​(java.lang.CharSequence stringValue)` | Replace the string-value of this node
    `void` | `setLocation​(java.lang.String uri, int lineNumber, int columnNumber)` | Set the system ID and line number

    - ### Methods inherited from class net.sf.saxon.tree.linked.NodeImpl

      `addAttribute, addNamespace, attributes, compareOrder, delete, effectiveBooleanValue, equals, generateId, getAllNamespaces, getAttributeValue, getBaseURI, getConfiguration, getDeclaredNamespaces, getDisplayName, getFingerprint, getFirstChild, getLastChild, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getRoot, getSchemaType, getSequenceNumber, getSiblingPosition, getStringValueCS, getSuccessorElement, getTreeInfo, getURI, hasChildNodes, hasFingerprint, head, insertChildren, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, removeAttribute, removeTypeAnnotation, replace, saveLocation, setAttributes, setRawParent, setSiblingPosition, setSystemId, setTypeAnnotation`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface net.sf.saxon.om.GroundedValue

      `asIterable, concatenate, containsNode, materialize`

    - ### Methods inherited from interface net.sf.saxon.om.Item

      `getLength, itemAt, iterate, reduce, subsequence`

    - ### Methods inherited from interface net.sf.saxon.om.MutableNodeInfo

      `addNamespace, removeNamespace`

    - ### Methods inherited from interface net.sf.saxon.om.NodeInfo

      `children, children, equals, getGenre, getPublicId, hashCode, isId, isIdref, isNilled, isSameNodeInfo, isStreamed, toShortString`

    - ### Methods inherited from interface net.sf.saxon.om.Sequence

      `makeRepeatable`

    - ### Methods inherited from interface javax.xml.transform.Source

      `isEmpty`

- - ### Constructor Detail

    - #### ProcInstImpl

          public ProcInstImpl​(java.lang.String name,
                              java.lang.String content)

  - ### Method Detail

    - #### getNodeName

          public NodeName getNodeName()

      Get the name of the node. Returns null for an unnamed node
      Overrides:
        `getNodeName` in class `NodeImpl`
      Returns:
        the name of the node

    - #### getStringValue

          public java.lang.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()`

    - #### atomize

          public AtomicSequence atomize()

      Get the typed value of this node. Returns the string value, as an instance of xs:string
      Specified by:
        `atomize` in interface `Item`
      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:
        `Type`

    - #### setLocation

          public void setLocation​(java.lang.String uri,
                                  int lineNumber,
                                  int columnNumber)

      Set the system ID and line number
      Parameters:
        `uri` - the system identifier
        `lineNumber` - the line number

    - #### getSystemId

          public java.lang.String getSystemId()

      Get the system ID for the entity containing this node.
      Specified by:
        `getSystemId` in interface `Location`
      Specified by:
        `getSystemId` in interface `org.xml.sax.Locator`
      Specified by:
        `getSystemId` in interface `NodeInfo`
      Specified by:
        `getSystemId` in interface `javax.xml.transform.Source`
      Specified by:
        `getSystemId` in interface `javax.xml.transform.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 `Location`
      Specified by:
        `getLineNumber` in interface `org.xml.sax.Locator`
      Specified by:
        `getLineNumber` in interface `NodeInfo`
      Specified by:
        `getLineNumber` in interface `javax.xml.transform.SourceLocator`
      Overrides:
        `getLineNumber` in class `NodeImpl`
      Returns:
        the line number of the node in its original source document; or -1 if not available. The default implementation returns -1.

    - #### getColumnNumber

          public int getColumnNumber()

      Get the column number of the node within its source entity
      Specified by:
        `getColumnNumber` in interface `Location`
      Specified by:
        `getColumnNumber` in interface `org.xml.sax.Locator`
      Specified by:
        `getColumnNumber` in interface `NodeInfo`
      Specified by:
        `getColumnNumber` in interface `javax.xml.transform.SourceLocator`
      Overrides:
        `getColumnNumber` in class `NodeImpl`
      Returns:
        the column number of the node in its original source document; or -1 if not available. The default implementation returns -1.

    - #### copy

          public void copy​(Receiver out,
                           int copyOptions,
                           Location 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-null, identifies the location of the instruction that requested this copy. If zero, indicates that the location information is not available
      Throws:
        `XPathException` - if any downstream error occurs

    - #### rename

          public void rename​(NodeName newNameCode,
                             boolean inheritNamespaces)

      Rename this node
      Specified by:
        `rename` in interface `MutableNodeInfo`
      Overrides:
        `rename` in class `NodeImpl`
      Parameters:
        `newNameCode` - the new name
        `inheritNamespaces` -

    - #### replaceStringValue

          public void replaceStringValue​(java.lang.CharSequence stringValue)

      Replace the string-value of this node
      Parameters:
        `stringValue` - the new string value