Class ProcInstImpl

  • All Implemented Interfaces:
    javax.xml.transform.Source, javax.xml.transform.SourceLocator, FingerprintedNode, Item, NodeInfo, ValueRepresentation

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

      • content

        java.lang.String content
      • nameCode

        int nameCode
      • systemId

        java.lang.String systemId
      • lineNumber

        int lineNumber
    • Constructor Detail

      • ProcInstImpl

        public ProcInstImpl​(int nameCode,
                            java.lang.String content)
    • Method Detail

      • 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:
        allocate, getFingerprint
      • 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()
      • 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
        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:
        Type
      • setLocation

        public void setLocation​(java.lang.String uri,
                                int lineNumber)
        Set the system ID and line number
      • getSystemId

        public java.lang.String getSystemId()
        Get the system ID for the entity containing this node.
        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 of the entity in the source document containing the node, or null if not known or not applicable.
      • 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 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
      • 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
        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 java.lang.String getTarget()
        The target of this processing instruction. XML defines this as being the first token following the markup that begins the processing instruction.
      • getData

        public java.lang.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 ?> .