net.sf.saxon.om

Class DocumentPool

public final class DocumentPool extends Object

An object representing the collection of documents handled during a single transformation.

From Saxon 7.2, the function of allocating document numbers is performed by the NamePool, not by the DocumentPool. This has a number of effects: in particular it allows operations involving multiple documents (such as generateId() and document()) to occur in a free-standing XPath environment.

Method Summary
voidadd(DocumentInfo doc, String name)
Add a document to the pool
DocumentInfodiscard(DocumentInfo doc)
Release a document from the document pool.
DocumentInfofind(String name)
Get the document with a given name
StringgetDocumentURI(NodeInfo doc)
Get the URI for a given document node, if it is present in the pool.

Method Detail

add

public void add(DocumentInfo doc, String name)
Add a document to the pool

Parameters: doc The DocumentInfo for the document in question name The name of the document.

discard

public DocumentInfo discard(DocumentInfo doc)
Release a document from the document pool. This means that if the same document is loaded again later, the source will need to be re-parsed, and nodes will get new identities.

find

public DocumentInfo find(String name)
Get the document with a given name

Returns: the DocumentInfo with the given name if it exists, or null if it is not found.

getDocumentURI

public String getDocumentURI(NodeInfo doc)
Get the URI for a given document node, if it is present in the pool. This supports the document-uri() function.

Parameters: doc The document node

Returns: The uri of the document node, if present in the pool, or null otherwise