Package net.sf.saxon.tree.wrapper

## Class VirtualUntypedCopy

- java.lang.Object
- - net.sf.saxon.tree.wrapper.VirtualCopy
  - - net.sf.saxon.tree.wrapper.VirtualUntypedCopy

- All Implemented Interfaces:
    `javax.xml.transform.Source`, `javax.xml.transform.SourceLocator`, `GroundedValue`, `Item`, `NodeInfo`, `Sequence`, `Location`, `org.xml.sax.Locator`

      public class VirtualUntypedCopy
      extends VirtualCopy

  This class represents a virtual copy of a node with type annotations stripped

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.tree.wrapper.VirtualCopy

      `VirtualCopy.VirtualCopier`

  - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.tree.wrapper.VirtualCopy

      `original, parent, root, systemIdSupplier, tree`

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

      `IS_DTD_TYPE, IS_NILLED`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `VirtualUntypedCopy​(NodeInfo base, NodeInfo root)` | Protected constructor: create a virtual copy of a node

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AtomicSequence` | `atomize()` | Get the typed value.
    `void` | `copy​(Receiver out, int copyOptions, Location locationId)` | Copy this node to a given outputter
    `SchemaType` | `getSchemaType()` | Get the type annotation of this node, if any.
    `boolean` | `isNilled()` | Determine whether the node has the is-nilled property
    `static VirtualCopy` | `makeVirtualUntypedTree​(NodeInfo original, NodeInfo root)` | Public factory method: create a new untyped virtual tree as a copy of a node
    `protected VirtualCopy` | `wrap​(NodeInfo node)` | Method to create the virtual copy of a node encountered when navigating.

    - ### Methods inherited from class net.sf.saxon.tree.wrapper.VirtualCopy

      `compareOrder, equals, generateId, getAllNamespaces, getAttributeValue, getBaseURI, getColumnNumber, getConfiguration, getDeclaredNamespaces, getDisplayName, getFingerprint, getLineNumber, getLocalPart, getNodeKind, getOriginalNode, getParent, getPrefix, getPublicId, getRoot, getStringValue, getStringValueCS, getSystemId, getTreeInfo, getURI, hasChildNodes, hasFingerprint, hashCode, isId, isIdref, isIncludedInCopy, iterateAxis, makeCopier, makeVirtualCopy, saveLocation, setDropNamespaces, setSystemId`

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

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

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

      `asIterable, concatenate, containsNode, effectiveBooleanValue, materialize`

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

      `getLength, head, itemAt, iterate, reduce, subsequence`

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

      `attributes, children, children, getGenre, isSameNodeInfo, isStreamed, iterateAxis, toShortString`

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

      `makeRepeatable`

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

      `isEmpty`

- - ### Constructor Detail

    - #### VirtualUntypedCopy

          protected VirtualUntypedCopy​(NodeInfo base,
                                       NodeInfo root)

      Protected constructor: create a virtual copy of a node
      Parameters:
        `base` - the node to be copied

  - ### Method Detail

    - #### makeVirtualUntypedTree

          public static VirtualCopy makeVirtualUntypedTree​(NodeInfo original,
                                                           NodeInfo root)

      Public factory method: create a new untyped virtual tree as a copy of a node
      Parameters:
        `original` - the node (in the original tree) to be copied
        `root` - the node in the original tree corresponding to the root node of the virtual copy
      Returns:
        the virtual copy.

    - #### getSchemaType

          public SchemaType getSchemaType()

      Get the type annotation of this node, if any. The type annotation is represented as SchemaType object.

      Types derived from a DTD are not reflected in the result of this method.

      Specified by:
        `getSchemaType` in interface `NodeInfo`
      Overrides:
        `getSchemaType` in class `VirtualCopy`
      Returns:
        For element and attribute nodes: the type annotation derived from schema validation (defaulting to xs:untyped and xs:untypedAtomic in the absence of schema validation). For comments, text nodes, processing instructions, and namespaces: null. For document nodes, either xs:untyped if the document has not been validated, or xs:anyType if it has.
      Since:
        9.4

    - #### atomize

          public AtomicSequence atomize()
                                 throws XPathException

      Get the typed value.
      Specified by:
        `atomize` in interface `Item`
      Specified by:
        `atomize` in interface `NodeInfo`
      Overrides:
        `atomize` in class `VirtualCopy`
      Returns:
        the typed value.
      Throws:
        `XPathException` - if the node has no typed value, for example if it is an element node with element-only content
      Since:
        8.5

    - #### copy

          public void copy​(Receiver out,
                           int copyOptions,
                           Location locationId)
                    throws XPathException

      Description copied from class: `VirtualCopy`
      Copy this node to a given outputter
      Specified by:
        `copy` in interface `NodeInfo`
      Overrides:
        `copy` in class `VirtualCopy`
      Parameters:
        `out` - the Receiver to which the node should be copied
        `copyOptions` - a selection of the options defined in `CopyOptions`
        `locationId` - Identifies the location of the instruction
      Throws:
        `XPathException` - if any downstream error occurs

    - #### wrap

          protected VirtualCopy wrap​(NodeInfo node)

      Method to create the virtual copy of a node encountered when navigating. This method is separated out so that it can be overridden in a subclass.
      Overrides:
        `wrap` in class `VirtualCopy`
      Parameters:
        `node` - the node to be wrapped
      Returns:
        a virtual copy of the node

    - #### isNilled

          public boolean isNilled()

      Determine whether the node has the is-nilled property
      Specified by:
        `isNilled` in interface `NodeInfo`
      Overrides:
        `isNilled` in class `VirtualCopy`
      Returns:
        true if the node has the is-nilled property