# XQilla XQC API Documentation

# XQC_DynamicContext_s Struct Reference

`#include <xqc.h>`

List of all members.

## Public Attributes

XQC_Error(* | set_variable )(XQC_DynamicContext *context, const char *uri, const char *name, XQC_Sequence *value)
| Sets the external variable to the value given.
XQC_Error(* | get_variable )(const XQC_DynamicContext *context, const char *uri, const char *name, XQC_Sequence **value)
XQC_Error(* | set_context_item )(XQC_DynamicContext *context, XQC_Sequence *value)
| Sets the context item to the current item of the XQC_Sequence given.
XQC_Error(* | get_context_item )(const XQC_DynamicContext *context, XQC_Sequence **value)
XQC_Error(* | set_implicit_timezone )(XQC_DynamicContext *context, int timezone)
| The timezone given must be between -840 and +840 minutes (-14 and +14 hours).
XQC_Error(* | get_implicit_timezone )(const XQC_DynamicContext *context, int *timezone)
XQC_Error(* | set_error_handler )(XQC_DynamicContext *context, XQC_ErrorHandler *handler)
XQC_Error(* | get_error_handler )(const XQC_DynamicContext *context, XQC_ErrorHandler **handler)
void *(* | get_interface )(const XQC_DynamicContext *context, const char *name)
| Called to retrieve an implementation specific interface.
void(* | free )(XQC_DynamicContext *context)
| Called to free the resources associated with the XQC_DynamicContext.

## Detailed Description

Examples:

  xqc-context-item.c.

## Member Data Documentation

void(* XQC_DynamicContext_s::free)(XQC_DynamicContext *context)

Called to free the resources associated with the XQC_DynamicContext.

Parameters:

  | context | The XQC_DynamicContext that this function pointer is a member of

Examples:
  xqc-context-item.c.

XQC_Error(* XQC_DynamicContext_s::get_context_item)(const XQC_DynamicContext *context, XQC_Sequence **value)

XQC_Error(* XQC_DynamicContext_s::get_error_handler)(const XQC_DynamicContext *context, XQC_ErrorHandler **handler)

XQC_Error(* XQC_DynamicContext_s::get_implicit_timezone)(const XQC_DynamicContext *context, int *timezone)

void*(* XQC_DynamicContext_s::get_interface)(const XQC_DynamicContext *context, const char *name)

Called to retrieve an implementation specific interface.

Parameters:

  | context | The XQC_DynamicContext that this function pointer is a member of
  | name | The name that identifies the interface to return

Returns:
  A pointer to the interface, or 0 if the name is not recognized by this implementation of XQC.

XQC_Error(* XQC_DynamicContext_s::get_variable)(const XQC_DynamicContext *context, const char *uri, const char *name, XQC_Sequence **value)

XQC_Error(* XQC_DynamicContext_s::set_context_item)(XQC_DynamicContext *context, XQC_Sequence *value)

Sets the context item to the current item of the XQC_Sequence given.

The user remains responsible for freeing the XQC_Sequence passed as the value - the XQC_Sequence must not be freed until the XQC_DynamicContext has been freed or it's context item set to a different value.

Parameters:

  | context | The XQC_DynamicContext that this function pointer is a member of
  | value | The XQC_Sequence value for the context item, or 0 to remove the existing context item value.

Return values:

  | XQC_NO_ERROR |
  | XQC_INTERNAL_ERROR |
  | XQC_NO_CURRENT_ITEM | if there is no current item in the value.

Examples:
  xqc-context-item.c.

XQC_Error(* XQC_DynamicContext_s::set_error_handler)(XQC_DynamicContext *context, XQC_ErrorHandler *handler)

XQC_Error(* XQC_DynamicContext_s::set_implicit_timezone)(XQC_DynamicContext *context, int timezone)

The timezone given must be between -840 and +840 minutes (-14 and +14 hours).

Parameters:

  | timezone | The implicit timezone to set, as an offset in minutes from GMT

XQC_Error(* XQC_DynamicContext_s::set_variable)(XQC_DynamicContext *context, const char *uri, const char *name, XQC_Sequence *value)

Sets the external variable to the value given.

The implementation takes ownership of the XQC_Sequence passed in, and is responsible for freeing it.

Parameters:

  | context | The XQC_DynamicContext that this function pointer is a member of
  | uri | The namespace URI of the external variable to set.
  | name | The name of the external variable to set - this should be a valid lexical `xs:QName`. If `uri` is 0 and `name` has a prefix, that prefix is resolved using the in-scope namespace prefixes for the expression.
  | value | The XQC_Sequence value for the variable, or 0 to remove the existing binding for the variable.

Return values:

  | XQC_NO_ERROR |
  | XQC_INTERNAL_ERROR |

The documentation for this struct was generated from the following file:

- xqc.h