XmlResults |
![]() ![]() |
#include <DbXml.hpp>class DbXml::XmlResults { public: XmlResults(const XmlResults &, DbTxn *txn = 0); ~XmlResults(); XmlResults &operator = (const XmlResults &) ... };
The XmlResults class encapsulates the results of a query that has been executed against an XmlContainer. The result of a query is a collection of XmlValues, which may be either strings, numbers, booleans, node lists, or documents. If the query context specified a return type of xmlquerycontext_resultvalues, the result values will be of type XmlValue::STRING, XmlValue::NUMBER, XmlValue::BOOLEAN, or XmlValue::NODE, otherwise they will be of type XmlValue::DOCUMENT.
An XmlResults object is created by calling the XmlContainer::queryWithXPath method. If the query context specified eager evaluation, then the resultant values are stored within the XmlResults object. If lazy expression was selected, then the resultant values will be computed as needed. In this case the XmlResults object will maintain a reference to the container (XmlContainer), query context (XmlQueryContext), and expression (XmlQueryExpression).
The XmlResults class provides an iteration interface through the XmlResults::next method. XmlResults::next method returns false and the null value when no more results are available (XmlValue::isNull method returns true). If eager evaluation was selected then XmlResults::reset method can be called to reset the iterator, and the subsequent call to the XmlResults::next method will return the first value of the result set.
The copy constructor and assignment operator are provided for this class. The class is implemented using a handle-body idiom. When a handle is copied both handles maintain a reference to the same body.
![]() ![]() |
Copyright (c) 1996-2003 Sleepycat Software, Inc. - All rights reserved.