### XmlContainer::getDocument |

`

###

    #include <DbXml.hpp>

    XmlDocument XmlContainer::getDocument(DbTxn *txn, u_int32_t id, u_int32_t flags=0);

### Description: XmlContainer::getDocument

The XmlContainer::getDocument method returns the XmlDocument corresponding to the specified document ID.

### Parameters

txn
  If the operation is to be transaction-protected, the txn parameter is a transaction handle returned from DbEnv::txn_begin, otherwise, NULL.

id
  The ID of the XmlDocument to be retrieved from the container.

flags
  The flags parameter must be set to zero or one of the following values:

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

  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 method will not hold locks across Berkeley DB interface calls in non-transactional environments, the DB_RMW flag to the XmlContainer::getDocument call is meaningful only in the presence of transactions.

Returns the XmlDocument corresponding to the specified document ID.

### Errors

The XmlContainer::getDocument method may fail and throw XmlException, encapsulating one of the following non-zero errors:

CONTAINER_CLOSED
  The container is closed.

DATABASE_ERROR
  An error occurred in an underlying Berkeley DB database. The XmlException::getDbError method will return the error code for the error.

DOCUMENT_NOT_FOUND
  The specified document is not in the XmlContainer.

### Class

XmlContainer, XmlDocument, XmlException, XmlIndexSpecification, XmlQueryContext, XmlQueryExpression, XmlResults, XmlUpdateContext, XmlValue`

Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.