Instances of the class DynamicContext contain the information that is available at the time the query is executed.
More...
|
| DynamicContext () |
|
| DynamicContext (const DynamicContext &aCtx) |
|
| DynamicContext (zorba::DynamicContext *aCtx) |
|
bool | getContextItem (Item &aItem) |
|
Item | getCurrentDateTime () |
| Retrieve the dateTime Item used at the time the query is executed (see setCurrentDateTime()). More...
|
|
Item | getDefaultCollection () |
| Return the value of the default collection that is used when calling the fn:collection function without a parameter. More...
|
|
int | getImplicitTimezone () |
| Retrieve the implicit timezone used in comparisons or arithmetic operations of date, time, or dateTime values. More...
|
|
bool | getVariable (const std::string &aNamespace, const std::string &aLocalname, Item &aItem, Iterator &aIterator) |
| Returns the current value of an external variable. More...
|
|
bool | setContextItem (Item &aItem) |
| Defines the context item. More...
|
|
bool | setCurrentDateTime (Item &aDateTimeItem) |
| Defines the value of the current date time that can be accessed by the fn:current-dateTime() function at the time the query is executed. More...
|
|
bool | setDefaultCollection (Item &aCollectionUri) |
| Defines the value of the default collection that is used when calling the fn:collection function without a parameter. More...
|
|
bool | setImplicitTimezone (int aTimezone) |
| Defines the variable of the implicit timezone to be used when a date, time, or dateTime value that does not have a timezone is used in a comparison or arithmetic operation. More...
|
|
bool | setVariable (const std::string &aNamespace, const std::string &aLocalname, Iterator &aIter) |
| Defines the external variable identified by an expanded QName and assigns it the sequence that is returned by evaluating aIterator. More...
|
|
bool | setVariable (const std::string &aQName, Item &aItem) |
| Defines the external variable identified by aQName and assigns it the value of aItem. More...
|
|
bool | setVariable (const std::string &aQName, Iterator &aIterator) |
| Defines the external variable identified by aQName and assigns it the sequence that is returned by evaluating aIterator. More...
|
|
Instances of the class DynamicContext contain the information that is available at the time the query is executed.
The class contains the information that is defined in the XQuery specification (see http://www.w3.org/TR/xquery/#eval_context).
A dynamic context always belongs to a particular query and, hence, can be retrieved by calling getDynamicContext on a compiled query (see XQuery::getDynamicContext()).
Definition at line 29 of file DynamicContext.h.
DynamicContext::DynamicContext |
( |
| ) |
|
|
inline |
DynamicContext::DynamicContext |
( |
zorba::DynamicContext * |
aCtx | ) |
|
|
inline |
bool DynamicContext::getContextItem |
( |
Item & |
aItem | ) |
|
Item DynamicContext::getCurrentDateTime |
( |
| ) |
|
Retrieve the dateTime Item used at the time the query is executed (see setCurrentDateTime()).
- Returns
- Item the dateTime Item used at the time the query is executed.
Item DynamicContext::getDefaultCollection |
( |
| ) |
|
Return the value of the default collection that is used when calling the fn:collection function without a parameter.
- Returns
- Item the default collection that is set in this dynamic context.
- Exceptions
-
ZorbaException | if an error occured. |
int DynamicContext::getImplicitTimezone |
( |
| ) |
|
Retrieve the implicit timezone used in comparisons or arithmetic operations of date, time, or dateTime values.
- Returns
- int the implicit timezone. Note that 0 is returned if an error occured and an DiagnosticHandler is used.
- Exceptions
-
ZorbaException | if an error occured. |
bool DynamicContext::getVariable |
( |
const std::string & |
aNamespace, |
|
|
const std::string & |
aLocalname, |
|
|
Item & |
aItem, |
|
|
Iterator & |
aIterator |
|
) |
| |
Returns the current value of an external variable.
Exactly one of the two return values (aItem or aIterator) will be non-null; that is, have isNull() == false.
The named external variable may be located in the main query or in any modules imported directly or indirectly by the query.
- Parameters
-
aNamespace | the namespace URI of the variable's expanded QName |
aLocalname | the local name of the variable's expanded QName |
aItem | an Item representing the current (single-item) value of the external variable. |
aIterator | an Iterator representing the current (possibly multi-item) value of the external variable. |
- Returns
- true if the variable has been retrieved successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured. |
bool DynamicContext::setContextItem |
( |
Item & |
aItem | ) |
|
Defines the context item.
- Parameters
-
aItem | the Item that is used as value for the context item. |
- Returns
- true if the context item was set, false otherwise.
- Exceptions
-
ZorbaException | if an error occured (e.g. the given Item is not valid). |
bool DynamicContext::setCurrentDateTime |
( |
Item & |
aDateTimeItem | ) |
|
Defines the value of the current date time that can be accessed by the fn:current-dateTime() function at the time the query is executed.
If the current date time has not been set explicitly the value of the date and time is used at the time the query is created or cloned, respectively.
- Parameters
-
aDateTimeItem | the dateTime Item. |
- Returns
- true if the variable has been set successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured (e.g. the given Item is invalid or not a Item of type dateTime) |
bool DynamicContext::setDefaultCollection |
( |
Item & |
aCollectionUri | ) |
|
Defines the value of the default collection that is used when calling the fn:collection function without a parameter.
- Parameters
-
aCollectionUri | the URI of the collection used by the fn:collection function. |
- Returns
- true if the default collection has been set successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured. |
bool DynamicContext::setImplicitTimezone |
( |
int |
aTimezone | ) |
|
Defines the variable of the implicit timezone to be used when a date, time, or dateTime value that does not have a timezone is used in a comparison or arithmetic operation.
- Parameters
-
aTimezone | the implicit timezone as int that should be used. |
- Returns
- true if the implicit timezone has been set successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured. |
bool DynamicContext::setVariable |
( |
const std::string & |
aNamespace, |
|
|
const std::string & |
aLocalname, |
|
|
Iterator & |
aIter |
|
) |
| |
Defines the external variable identified by an expanded QName and assigns it the sequence that is returned by evaluating aIterator.
The named external variable may be located in the main query or in any modules imported directly or indirectly by the query.
- Parameters
-
aNamespace | the namespace URI of the variable's expanded QName |
aLocalname | the local name of the variable's expanded QName |
aIter | the Iterator producing the sequence that is assigned to the variable. |
- Returns
- true if the variable has been set successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured (e.g. the given Iterator is not valid). |
bool DynamicContext::setVariable |
( |
const std::string & |
aQName, |
|
|
Item & |
aItem |
|
) |
| |
Defines the external variable identified by aQName and assigns it the value of aItem.
aQName may be in one of two forms: A lexical QName (eg. "ns:foo"), or a James Clark-style universal name (eg. "{nsuri}:foo"). If it is a universal name, then this method will find the named external variable in the main query or in any modules imported directly or indirectly by the query. If it is a lexical QName, then it is only possible to resolve the prefix in the the context of the main query, hence only external variables in the main query or those in directly-imported modules may be bound.
- Parameters
-
aQName | the QName that identifies the external variable. |
aItem | the Item that is used as value for the variable. |
- Returns
- true if the variable has been set, false otherwise.
- Exceptions
-
ZorbaException | if an error occured (e.g. the given Item is not valid). |
bool DynamicContext::setVariable |
( |
const std::string & |
aQName, |
|
|
Iterator & |
aIterator |
|
) |
| |
Defines the external variable identified by aQName and assigns it the sequence that is returned by evaluating aIterator.
aQName may be in one of two forms: A lexical QName (eg. "ns:foo"), or a James Clark-style universal name (eg. "{nsuri}:foo"). If it is a universal name, then this method will find the named external variable in the main query or in any modules imported directly or indirectly by the query. If it is a lexical QName, then it is only possible to resolve the prefix in the the context of the main query, hence only external variables in the main query or those in directly-imported modules may be bound.
- Parameters
-
aQName | the QName that identifies the external variable. |
aIterator | the Iterator producing the sequence that is assigned to the variable. |
- Returns
- true if the variable has been set successfully, false otherwise.
- Exceptions
-
ZorbaException | if an error occured (e.g. the given Iterator is not valid). |
The documentation for this class was generated from the following file: