# VirtualDocumentCopy
Keywords: net.sf.saxon.om.VirtualDocumentCopy class

## net.sf.saxon.om
Class VirtualDocumentCopy

    java.lang.Object
      net.sf.saxon.om.VirtualCopy
          net.sf.saxon.om.VirtualDocumentCopy

All Implemented Interfaces:
  Source, DocumentInfo, Item, NodeInfo, ValueRepresentation

    public class VirtualDocumentCopy

extends VirtualCopy
implements DocumentInfo

A virtual copy of a document node

Field Summary

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

Fields inherited from interface net.sf.saxon.om.ValueRepresentation
`EMPTY_VALUE_ARRAY`

Constructor Summary
`VirtualDocumentCopy(DocumentInfo base)`

Method Summary
`String[]` `getUnparsedEntity(String name)` Get the unparsed entity with a given name
`NodeInfo` `selectID(String id)` Get the element with a given ID, if any
`void` `setConfiguration(Configuration config)` Set the configuration, which defines the name pool used for all names in this document.

Methods inherited from class net.sf.saxon.om.VirtualCopy

`atomize, compareOrder, copy, equals, generateId, getAttributeValue, getBaseURI, getConfiguration, getDeclaredNamespaces, getDisplayName, getDocumentNumber, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNamePool, getNodeKind, getParent, getPrefix, getRoot, getStringValue, getStringValueCS, getSystemId, getTypeAnnotation, getTypedValue, getURI, hasChildNodes, hashCode, isSameNodeInfo, iterateAxis, iterateAxis, makeVirtualCopy, sendNamespaceDeclarations, setDocumentNumber, setSystemId`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

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

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

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

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

Constructor Detail

### VirtualDocumentCopy

    public VirtualDocumentCopy(DocumentInfo base)

Method Detail

### setConfiguration

    public void setConfiguration(Configuration config)

  Set the configuration, which defines the name pool used for all names in this document. This is always called after a new document has been created.

  Parameters:
    `config` - The configuration to be used

### selectID

    public NodeInfo selectID(String id)

  Get the element with a given ID, if any

  Specified by:
    `selectID` in interface `DocumentInfo`
  Parameters:
    `id` - the required ID value
  Returns:
    the element with the given ID, or null if there is no such ID present (or if the parser has not notified attributes as being of type ID)

### getUnparsedEntity

    public String[] getUnparsedEntity(String name)

  Get the unparsed entity with a given name

  Specified by:
    `getUnparsedEntity` in interface `DocumentInfo`
  Parameters:
    `name` - the name of the entity
  Returns:
    if the entity exists, return an array of two Strings, the first holding the system ID of the entity, the second holding the public ID if there is one, or null if not. If the entity does not exist, return null.

Copyright (C) Michael H. Kay. All rights reserved.