# XmlContainer.getDocument

`

###

    import com.sleepycat.dbxml.*;

    public XmlDocument getDocument(DbTxn txnid, int id, int flags)
        throws DbException;

# Description

The XmlContainer.getDocument method returns the document identified by the id parameter.

If the operation is to be transaction-protected, the txnid parameter is a transaction handle returned from DbEnv.txn_begin; otherwise, null.

The flags value must be set to 0 or by bitwise inclusively OR'ing together one or more of the following values:

Db.DB_DIRTY_READ
  Read modified but not yet committed data. Silently ignored if the Db.DB_DIRTY_READ flag was not specified when the underlying XmlContainer was opened.

Db.DB_RMW
  Acquire write locks instead of read locks when doing the retrieval. Setting this flag can eliminate deadlock during a read-modify-write cycle by acquiring the write lock during the read part of the cycle so that another thread of control acquiring a read lock for the same item, in its own read-modify-write cycle, will not result in deadlock.

  Because the XmlContainer.getDocument interface will not hold locks across Berkeley DB interface calls in non-transactional environments, the Db.DB_RMW flag to the XmlContainer.getDocument call is meaningful only in the presence of transactions.

If the specified document is not in the container, the XmlContainer.getDocument method will return Db.DB_NOTFOUND. Otherwise, the XmlContainer.getDocument method throws an exception that encapsulates a non-zero error value on failure.

# Errors

If the operation was selected to resolve a deadlock, the XmlContainer.getDocument method will fail and throw a DbDeadlockException exception.

The XmlContainer.getDocument method may fail and throw an exception for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the XmlContainer.getDocument method may fail and throw a DbRunRecoveryException, in which case all subsequent Berkeley DB calls will fail in the same way.

# Class

XmlContainer, XmlDocument, XmlQueryContext

# See Also

XmlContainer.close, XmlContainer.declareIndex, XmlContainer.deleteDocument, XmlContainer.getDocument, XmlContainer.getName, XmlContainer.open, XmlContainer.putDocument and XmlContainer.queryWithXPath.

XmlDocument.getAttributeValue, XmlDocument.getContent, XmlDocument.getID, XmlDocument.getName, XmlDocument.getType, XmlDocument.setContent, XmlDocument.setName, and XmlDocument.setType.

`

Copyright Sleepycat Software