Class VirtualUntypedCopy

java.lang.Object
net.sf.saxon.tree.wrapper.VirtualCopy
net.sf.saxon.tree.wrapper.VirtualUntypedCopy
All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, NodeInfo, Sequence, Location, Locator

public class VirtualUntypedCopy extends VirtualCopy
This class represents a virtual copy of a node with type annotations stripped
  • Constructor Details

    • VirtualUntypedCopy

      protected VirtualUntypedCopy(NodeInfo base, NodeInfo root)
      Protected constructor: create a virtual copy of a node
      Parameters:
      base - the node to be copied
      root - the node in the source tree corresponding to the root of the virtual tree. This must be an ancestor of the base node
  • Method Details

    • 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