# Package net.sf.saxon.tree.wrapper

This package defines a number of implementations of "virtual nodes" implemented as wrappers around other nodes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  SiblingCountingNode | Interface that extends NodeInfo by providing a method to get the position of a node relative to its siblings.
  VirtualNode | This interface is implemented by NodeInfo implementations that act as wrappers on some underlying tree.
  WrappingFunction | Callback to create a VirtualNode that wraps a given NodeInfo

- Class Summary
  Class | Description
  --- | ---
  AbstractNodeWrapper | A node in the XML parse tree representing an XML element, character content, or attribute.
  AbstractVirtualNode | AbstractVirtualNode is an abstract superclass for VirtualNode implementations in which the underlying node is itself a Saxon NodeInfo.
  SpaceStrippedDocument | A SpaceStrippedDocument represents a view of a real Document in which selected whitespace text nodes are treated as having been stripped.
  SpaceStrippedNode | A StrippedNode is a view of a node, in a virtual tree that has whitespace text nodes stripped from it.
  TypeStrippedDocument | A TypeStrippedDocument represents a view of a real Document in which all nodes are untyped
  TypeStrippedNode | A TypeStrippedNode is a view of a node, in a virtual tree that has type annotations stripped from it.
  VirtualCopy | This class represents a node that is a virtual copy of another node: that is, it behaves as a node that's the same as another node, but has different identity.
  VirtualDocumentCopy | A virtual copy of a document node
  VirtualUntypedCopy | This class represents a virtual copy of a node with type annotations stripped
  WrappingIterator | A WrappingIterator delivers wrappers for the nodes delivered by its underlying iterator.

## Package net.sf.saxon.tree.wrapper Description

This package defines a number of implementations of "virtual nodes" implemented as wrappers around other nodes.

The `SpaceStrippedNode` class provides a virtual tree in which whitespace text nodes in the underlying real tree are ignored.

The `TypeStrippedNode` class provides a virtual tree in which type annotations in the underlying real tree are ignored.

The `VirtualCopy` class provides a tree that is the same as the underlying tree in everything except node identity.

Michael H. Kay
Saxonica Limited
28 November 2011

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.