## net.sf.saxon.om
Interface VirtualNode

All Superinterfaces:
  Item, NodeInfo, javax.xml.transform.Source, ValueRepresentation

All Known Implementing Classes:
  NodeWrapper, NodeWrapper, NodeWrapper, StrippedNode

public interface VirtualNode
extends NodeInfo

This interface is implemented by NodeInfo implementations that act as wrappers on some underlying tree. It provides a method to access the real node underlying the virtual node, for use by applications that need to drill down to the underlying data.

Field Summary

Fields inherited from interface net.sf.saxon.om.NodeInfo
`ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, LOCAL_NAMESPACES, NO_NAMESPACES`

Method Summary
`java.lang.Object` `getUnderlyingNode()` Get the real node undelying this virtual node.

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

`compareOrder, copy, generateId, getAttributeValue, getBaseURI, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNodeKind, getParent, getPrefix, getRoot, getStringValue, getSystemId, getTypeAnnotation, getURI, hasChildNodes, isSameNodeInfo, iterateAxis, iterateAxis, sendNamespaceDeclarations`

Methods inherited from interface javax.xml.transform.Source
`setSystemId`

Methods inherited from interface net.sf.saxon.om.Item
`getStringValueCS, getTypedValue`

Method Detail

### getUnderlyingNode

    public java.lang.Object getUnderlyingNode()

  Get the real node undelying this virtual node.

  Returns:
    The underlying node. Note that this may itself be a VirtualNode; you may have to drill down through several layers of wrapping.