http://www.zorba-xquery.com/modules/store/static/collections/ddl
Description
Before using any of the functions below please remember to import the module namespace:
import module namespace cddl = "http://www.zorba-xquery.com/modules/store/static/collections/ddl";This modules defines a set of functions for managing collections which are declared in the prolog of a module. For example, it provides functions to create, delete, or introspect collections.
This module is part of Zorba's XQuery Data Definition Facility. All the collections managed by this module have to be pre-declared in the prolog of a module. Please refer to the general documentation for more information and examples.
See also
XQuery Data Definition Facility
http://www.zorba-xquery.com/modules/store/static/collections/dml
http://www.zorba-xquery.com/modules/store/static/indexes/ddl
http://www.zorba-xquery.com/modules/store/static/indexes/dml
http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl
http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml
Author
Nicolae Brinza, Matthias Brantner, David Graf, Till Westmann, Markos Zaharioudakis
XQuery version and encoding
xquery version "3.0" encoding "utf-8";
Namespaces
| cddl | http://www.zorba-xquery.com/modules/store/static/collections/ddl |
| ver | http://www.zorba-xquery.com/options/versioning |
| zerr | http://www.zorba-xquery.com/errors |
Function Summary
available-collections() as xs:QName* externalThe function returns a sequence of QNames of the collections that are statically declared and available. | |
create($name as xs:QName) externalThe create function is an updating function which creates the collection with the given expanded QName. | |
create($name as xs:QName, $content as item()*) externalThe create function is an updating function which creates the collection with the given expanded QName. | |
declared-collections() as xs:QName* externalThe function returns a sequence of QNames representing the collections that have been declared in the prolog of the static context. | |
delete($name as xs:QName) externalThe delete function is an updating function that deletes the collection with the given expanded QName. | |
is-available-collection($name as xs:QName) as xs:boolean externalThe function returns true if a collection with the given QName is statically declared and available (i. | |
is-declared-collection($name as xs:QName) as xs:boolean externalThe function returns true if a collection with the given QName is declared in the prolog of the static context. |
Functions
available-collections#0
declare function cddl:available-collections() as xs:QName* external
The function returns a sequence of QNames of the collections that are statically declared and available. The sequence will be empty if there are no such collections.
Returns
xs:QName*A sequence of QNames, one for each statically declared and available collection, or an emtpy sequence.
create#1
declare updating function cddl:create(
$name as xs:QName
) as item()* externalThe create function is an updating function which creates the collection with the given expanded QName.
Parameters
$name as xs:QNameThe QName of the collection to create.
Errors
- zerr:ZDDY0001 if the expanded QName $name is not equal to any of the declared collections in the static context.
- zerr:ZDDY0002 if a collection with the given expanded QName already exists.
create#2
declare updating function cddl:create(
$name as xs:QName,
$content as item()*
) as item()* externalThe create function is an updating function which creates the collection with the given expanded QName. Moreover, it adds copies of the sequence $content to the new collection.
Parameters
$name as xs:QNameThe QName of the collection to create.$content as item()The sequences of items (nodes and/or json items) that should be added to the new collection.
Errors
- zerr:ZDDY0001 if the expanded QName $name is not equal to any of the declared collections in the static context.
- zerr:ZDDY0002 if a collection with the given expanded QName already exists.
- zerr:ZDTY0001 if $content does not match the expected type (i.e. declared by the collection) according to the rules for SequenceType Matching.
declared-collections#0
declare function cddl:declared-collections() as xs:QName* external
The function returns a sequence of QNames representing the collections that have been declared in the prolog of the static context.
Returns
xs:QName*A sequence of QNames, one for each created collection, or an emtpy sequence.
delete#1
declare updating function cddl:delete(
$name as xs:QName
) as item()* externalThe delete function is an updating function that deletes the collection with the given expanded QName.
Parameters
$name as xs:QNameThe QName of the collection to delete.
Errors
- zerr:ZDDY0001 if the expanded QName $name is not equal to any of the declared collections in the static context.
- zerr:ZDDY0003 if the expanded QName $name is not equal to any of the available collections.
- zerr:ZDDY0015 if any of the in-scope variables references an item that belongs to the collection with QName $name.
- zerr:ZDDY0013 if the domain or key expression of any of the available indexes access the collection with name $name.
is-available-collection#1
declare function cddl:is-available-collection(
$name as xs:QName
) as xs:boolean externalThe function returns true if a collection with the given QName is statically declared and available (i.e. has been created).
Parameters
$name as xs:QNameThe QName of the collection that is being checked.
Returns
xs:booleantrue if the collection is statically declared and available, false otherwise.
is-declared-collection#1
declare function cddl:is-declared-collection(
$name as xs:QName
) as xs:boolean externalThe function returns true if a collection with the given QName is declared in the prolog of the static context.
Parameters
$name as xs:QNameThe QName of the collection that is being checked.
Returns
xs:booleantrue if the collection is declared or false otherwise.