Untitled

## BDB::XML::Context

The context within which a query is performed against a Container.

The context within which a query is performed against a Container is complex enough to warrent an encapsulating class. This context includes a namespace mapping, variable bindings, and flags that determine how the query result set should be determined and returned to the caller.

The XPath syntax permits expressions to refer to namespace prefixes, but not to define them. The Context class provides a number of namespace management methods so that the caller may manage the namespace prefix to URI mapping.

The XPath syntax also permits expressions to refer to variables, but not to define them. The Context class provides a number of methods so that the caller may manage the variable to value bindings.

### Class Methods

`allocate`
  Allocate a new Context object

### Methods

`self[variable]`
  Get the value bound to a variable
`self[variable] = value`
  Bind a value to a variable
`clear_namespaces`
`clear`
  Delete all the namespace prefix mappings
`del_namespace(name)`
  Delete the namespace URI for a particular prefix
`evaltype`
  Return the evaluation type
`evaltype=(type)`
  Set the evaluation type
`get_namespace(name)`
`namespace[name]`
  Get the namespace URI that a namespace prefix maps onto
`initialize(returntype = nil, evaluation = nil)`
  Initialize the object with the optional evaluation type BDB::XML::Context::Lazy or BDB::XML::Context::Eager and return type BDB::XML::Context::Documents, BDB::XML::Context::Values or BDB::XML::Context::Candidates
`metadata`
`with_metadata`
  return true if the metadata is added to the document
`metadata=(with)`
`with_metadata=(with)`
  The with parameter specifies whether or not to add the document metadata prior to the query.
`returntype`
  Return the return type
`returntype=(type)`
  Set the return type
`namespace[name]=(uri)`
`set_namespace(name, uri)`

  Define a namespace prefix, providing the URI that it maps onto

  If uri is nil delete the namespace