1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
<!--Id: xml_put.so,v 10.6 2002/06/24 14:49:37 bostic Exp -->
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
<!--All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: XmlContainer::putDocument</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
</head>
<body bgcolor=white>
<a name="2"><!--meow--></a>
<table width="100%"><tr valign=top>
<td>
<h1>XmlContainer::putDocument</h1>
</td>
<td align=right>
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<hr size=1 noshade>
<tt>
<h3><pre>
#include <DbXml.hpp>
<p>
u_int32_t
XmlContainer::putDocument(DbTxn *txnid, XmlDocument &xmldoc, u_int32_t flags);
</pre></h3>
<h1>Description</h1>
<p>The XmlContainer::putDocument method stores a XML document into the container and
returns the document ID. The contents of an <a href="../api_cxx/xmldocument_class.html">XmlDocument</a> may be
of type <a href="../api_cxx/xmldoc_settype.html#XmlDocument::BYTES">XmlDocument::BYTES</a> or <a href="../api_cxx/xmldoc_settype.html#XmlDocument::XML">XmlDocument::XML</a>. XML
content is parsed and indexed as per the container indexing
specification. Non-XML (<a href="../api_cxx/xmldoc_settype.html#XmlDocument::BYTES">XmlDocument::BYTES</a>) content is not
indexed.
<p>Regardless of the content type the document annotation attributes
are always indexed.]
<p>The XML indexer expects XML content to be encoded as UTF-8. The indexer
also expects the XML content to be
<a href="http://www.w3.org/TR/2000/REC-xml-20001006.html#dt-wellformed">well-formed</a>, but the content need not be
<a href="http://www.w3.org/TR/2000/REC-xml-20001006.html#dt-valid">valid</a>.
<p>If the operation is to be transaction-protected (other than by specifying
the DB_AUTO_COMMIT flag), the <b>txnid</b> parameter is a
transaction handle returned from <a href="../api_cxx/txn_begin.html">DbEnv::txn_begin</a>; otherwise, NULL.
<p>The <b>flags</b> value must be set to 0 or
the following value:
<p><dl compact>
<p><dt><a name="DB_AUTO_COMMIT">DB_AUTO_COMMIT</a><dd>Enclose the XmlContainer::putDocument call within a transaction. If the call succeeds,
changes made by the operation will be recoverable. If the call fails,
the operation will have made no changes.
</dl>
<p>The XmlContainer::putDocument method returns a document ID on success.
Otherwise, the XmlContainer::putDocument method throws an exception that encapsulates a non-zero error value on
failure.
<h1>Errors</h1>
<p>If the operation was selected to resolve a deadlock, the
XmlContainer::putDocument method will fail and
throw a <a href="../api_cxx/deadlock_class.html">DbDeadlockException</a> exception.
<p>The XmlContainer::putDocument 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::putDocument method may fail and
throw a <a href="../api_cxx/runrec_class.html">DbRunRecoveryException</a>,
in which case all subsequent Berkeley DB calls will fail in the same way.
<h1>Class</h1>
<a href="../api_cxx/xmlcontainer_class.html">XmlContainer</a>, <a href="../api_cxx/xmldocument_class.html">XmlDocument</a>, <a href="../api_cxx/xmlquery_class.html">XmlQueryContext</a>
<h1>See Also</h1>
<a href="../api_cxx/xml_close.html">XmlContainer::close</a>,
<a href="../api_cxx/xml_declare.html">XmlContainer::declareIndex</a>,
<a href="../api_cxx/xml_del.html">XmlContainer::deleteDocument</a>,
<a href="../api_cxx/xml_get.html">XmlContainer::getDocument</a>,
<a href="../api_cxx/xml_getname.html">XmlContainer::getName</a>,
<a href="../api_cxx/xml_open.html">XmlContainer::open</a>,
<a href="../api_cxx/xml_put.html">XmlContainer::putDocument</a>
and
<a href="../api_cxx/xml_xpath.html">XmlContainer::queryWithXPath</a>.
<p>
<a href="../api_cxx/xmldoc_getattr.html">XmlDocument::getAttributeValue</a>,
<a href="../api_cxx/xmldoc_getcont.html">XmlDocument::getContent</a>,
<a href="../api_cxx/xmldoc_getid.html">XmlDocument::getID</a>,
<a href="../api_cxx/xmldoc_getname.html">XmlDocument::getName</a>,
<a href="../api_cxx/xmldoc_gettype.html">XmlDocument::getType</a>,
<a href="../api_cxx/xmldoc_setcont.html">XmlDocument::setContent</a>,
<a href="../api_cxx/xmldoc_setname.html">XmlDocument::setName</a>,
and
<a href="../api_cxx/xmldoc_settype.html">XmlDocument::setType</a>.
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_cxx/c_index.html"><img src="../images/api.gif" alt="API"></a><a href="../reftoc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
</body>
</html>
|