Skip to content

Instantly share code, notes, and snippets.

@apb2006
Created December 13, 2016 22:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apb2006/8bdb7effa3241940a3174e4e74a6eb06 to your computer and use it in GitHub Desktop.
Save apb2006/8bdb7effa3241940a3174e4e74a6eb06 to your computer and use it in GitHub Desktop.
xqlint json xqdoc
declare variable $src:="C:\Users\andy\git\xqlint\test\index.json";
(: json-doc($src) :)
file:read-text($src)=>json-to-xml()
This file has been truncated, but you can view the full file.
<map xmlns="http://www.w3.org/2005/xpath-functions">
<map key="http://xbrl.io/modules/bizql/components">
<string key="ns">http://xbrl.io/modules/bizql/components</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides functionality for retrieving components.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Components help organizing the facts contained in archives
in smaller parts that "make sense" together. A component is identified
with a CID (component ID).&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;A component is made of networks (see the networks module) and hypercubes
(see the hypercubes module).&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;With this module, you can retrieve all components, all components belonging
to one or several archives. You can retrieve the CID of a component or retrieve
the components associated with a couple of CIDs.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Charles Hoffman&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Matthias Brantner&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Dennis Knochenwefel&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Ghislain Fourny&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://xbrl.io/modules/bizql/archives</string>
<string key="prefix">archives</string>
</map>
<map>
<string key="uri">http://xbrl.io/modules/bizql/components</string>
<string key="prefix">components</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/credentials</string>
<string key="prefix">credentials</string>
</map>
<map>
<string key="uri">http://xbrl.io/modules/bizql/facts</string>
<string key="prefix">facts</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/mongodb</string>
<string key="prefix">mongo</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">cid</string>
<string key="qname">components:cid</string>
<string key="signature">($component-or-id as item()) as atomic</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Converts the input to a normalized component id (CID). The input
can be either an CID, or an component object which contains an _id.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Converts the input to a normalized component id (CID).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">component-or-id</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; an component object or an CID.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">atomic</string>
<string key="description">the normalized CID.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;components:INVALID_PARAMETER if the CID or component is not valid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">components-for-archives</string>
<string key="qname">components:components-for-archives</string>
<string key="signature">($archive-or-ids as item()*) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves all components that belong to the supplied archives.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves all components that belong to the supplied archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archive-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all components in the archive with this AID.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">components</string>
<string key="qname">components:components</string>
<string key="signature">() as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves all components.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves all components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all components.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">components</string>
<string key="qname">components:components</string>
<string key="signature">($component-or-ids as item()*) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the components with the given CIDs.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the components with the given CIDs.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">component-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the CIDs or the components themselves.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">the components whose _id field matches one of these CIDs.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-abstract-primary-items-in-hypercubes</string>
<string key="qname">components:num-abstract-primary-items-in-hypercubes</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) abstract primary items being
in a hypercube for each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) abstract primary items being
in a hypercube for each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-concrete-primary-items-in-hypercubes</string>
<string key="qname">components:num-concrete-primary-items-in-hypercubes</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) concrete primary items being
in a hypercube for each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) concrete primary items being
in a hypercube for each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-concrete-primary-items-not-in-hypercubes</string>
<string key="qname">components:num-concrete-primary-items-not-in-hypercubes</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) concrete primary items not being
in a hypercube for each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) concrete primary items not being
in a hypercube for each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-distinct-abstract-primary-items-not-in-hypercubes</string>
<string key="qname">components:num-distinct-abstract-primary-items-not-in-hypercubes</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) abstract primary items not being
in a hypercube for each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) abstract primary items not being
in a hypercube for each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-domains</string>
<string key="qname">components:num-domains</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) domains in each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) domains in each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of domains</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-explicit-dimensions</string>
<string key="qname">components:num-explicit-dimensions</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) explicit dimensions in each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) explicit dimensions in each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of dimensions</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-hypercubes</string>
<string key="qname">components:num-hypercubes</string>
<string key="signature">($components-or-ids as item()*) as integer*</string>
<string key="description"> Return the number of hypercubes in each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of hypercubes in each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of hypercubes</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-members</string>
<string key="qname">components:num-members</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) members in each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) members in each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of members</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-networks</string>
<string key="qname">components:num-networks</string>
<string key="signature">($components-or-ids) as integer*</string>
<string key="description"> Return the number of networks in each of the given components.
</string>
<string key="summary">&lt;p&gt; Return the number of networks in each of the given components.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">components-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of networks</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables">
<map>
<string key="name">components:col</string>
<string key="type">xs:string</string>
<string key="description"> Name of the collection the components are stored in.
</string>
</map>
<map>
<string key="name">components:ARCHIVE</string>
<string key="type">xs:string</string>
<string key="description"> Name of the field pointing to the archive.
</string>
</map>
</array>
</map>
<map key="http://jsound.io/modules/validate">
<string key="ns">http://jsound.io/modules/validate</string>
<string key="description"> JSound simple validator.
This is a JSONiq implemenation of the JSound (the schema for JSON) validator.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Cezar Andrei&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/fetch</string>
<string key="prefix">fetch</string>
</map>
<map>
<string key="uri">http://jsoniq.org/functions</string>
<string key="prefix">jn</string>
</map>
<map>
<string key="uri">http://jsound.io/modules/validate</string>
<string key="prefix">jsv</string>
</map>
<map>
<string key="uri">http://jsound.io/modules/validate/map</string>
<string key="prefix">map</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">jsd-valid</string>
<string key="qname">jsv:jsd-valid</string>
<string key="signature">($ns as string, $name as string, $instance as json-item()) as boolean</string>
<string key="description"> Validates the $instance JSON item against the JSound type with name $name
and namespace $ns, from the JSound schema definition $jsd.
</string>
<string key="summary">&lt;p&gt; Validates the $instance JSON item against the JSound type with name $name
and namespace $ns, from the JSound schema definition $jsd.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">ns</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the namespace of the expected type&lt;/div&gt;</string>
</map>
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the expected type&lt;/div&gt;</string>
</map>
<map>
<string key="name">instance</string>
<string key="type">json-item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the instance to be validated&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">true if the instance is valid, otherwise throws an error.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jsv:BadJSoundFormat If the schema is not a valid JSound schema&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jsv:Invalid If the instance does not conform to the JSound schema&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZXQP0025 If the schema namespace URI cannot be resolved.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jn:JNDY0021 If the loaded schema is syntactically incorrect&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">jsd-valid</string>
<string key="qname">jsv:jsd-valid</string>
<string key="signature">($jsd as object(), $name as string, $ns as string, $instance as item()) as boolean</string>
<string key="description"> Validates the $instance JSON item against the JSound type with name $name
and namespace $ns, from the JSound schema definition $jsd.
</string>
<string key="summary">&lt;p&gt; Validates the $instance JSON item against the JSound type with name $name
and namespace $ns, from the JSound schema definition $jsd.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">jsd</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the JSound schema as a JSON object to be validated against&lt;/div&gt;</string>
</map>
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the expected type&lt;/div&gt;</string>
</map>
<map>
<string key="name">ns</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the namespace of the expected type&lt;/div&gt;</string>
</map>
<map>
<string key="name">instance</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the instance to be validated&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">true if the instance is valid, otherwise throws an error.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jsv:BadJSoundFormat If the schema is not a valid JSound schema&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jsv:Invalid If the instance does not conform to the JSound schema&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://xbrl.io/modules/bizql/archives">
<string key="ns">http://xbrl.io/modules/bizql/archives</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides functions for retrieving metadata about archives.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Archives represent the granularity of "report shipping", i.e., an entity
reports one archive at a time. An archive is identified with an AID (archive ID).&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Archives are made of reported facts (see facts module),
which are structured and organized in components (see components module).&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;With this module, you can retrieve all archives, or a certain number of archives
with their AIDs, or obtain the AID of archives you already have. You can also retrieve
all archives submitted by one or several entities.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Archive information is stored in a MongoDB datasource called &lt;b&gt;xbrl&lt;/b&gt;.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Charles Hoffman&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Matthias Brantner&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Dennis Knochenwefel&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Ghislain Fourny&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://xbrl.io/modules/bizql/archives</string>
<string key="prefix">archives</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/credentials</string>
<string key="prefix">credentials</string>
</map>
<map>
<string key="uri">http://xbrl.io/modules/bizql/entities</string>
<string key="prefix">entities</string>
</map>
<map>
<string key="uri">http://www.w3.org/2005/xqt-errors</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/mongodb</string>
<string key="prefix">mongo</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">aid</string>
<string key="qname">archives:aid</string>
<string key="signature">($archives-or-ids as item()*) as atomic*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Converts the input to a normalized archive identifier (AID). The input
can be either a pure AID, or an archive object which contains an AID.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Converts the input to a normalized archive identifier (AID).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of archive objects or identifiers (AID).&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">atomic*</string>
<string key="description">the normalized AIDs.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;archives:INVALID_PARAMETER if the AID or archive is not valid&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">archives-for-entities</string>
<string key="qname">archives:archives-for-entities</string>
<string key="signature">($entities-or-ids as item()*) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Return all archives created by the supplied entities.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Return all archives created by the supplied entities.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">entities-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; arbitrary number of entity objects or EIDs.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all archives created by these entities.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">archives</string>
<string key="qname">archives:archives</string>
<string key="signature">() as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves all archives.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves all archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all archives.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">archives</string>
<string key="qname">archives:archives</string>
<string key="signature">($archive-or-ids as item()*) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the archives with the given AIDs.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the archives with the given AIDs.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archive-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">the archives with the given AIDs the empty sequence if no archive was found or if the input is an empty sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">entities</string>
<string key="qname">archives:entities</string>
<string key="signature">($archives-or-ids as item()*) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the entities that submitted the supplied archives.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the entities that submitted the supplied archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of archives or their identifiers (AID).&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">the submitting entities.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-abstract-primary-items-in-hypercubes</string>
<string key="qname">archives:num-abstract-primary-items-in-hypercubes</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) abstract primary items being
in a hypercube for each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) abstract primary items being
in a hypercube for each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-components</string>
<string key="qname">archives:num-components</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of components of each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of components of each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of components</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-concrete-primary-items-in-hypercubes</string>
<string key="qname">archives:num-concrete-primary-items-in-hypercubes</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) concrete primary items being
in a hypercube for each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) concrete primary items being
in a hypercube for each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-concrete-primary-items-not-in-hypercubes</string>
<string key="qname">archives:num-concrete-primary-items-not-in-hypercubes</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) concrete primary items not being
in a hypercube for each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) concrete primary items not being
in a hypercube for each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-distinct-abstract-primary-items-not-in-hypercubes</string>
<string key="qname">archives:num-distinct-abstract-primary-items-not-in-hypercubes</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) abstract primary items not being
in a hypercube for each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) abstract primary items not being
in a hypercube for each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of primary items</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-domains</string>
<string key="qname">archives:num-domains</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) domains in each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) domains in each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of domains</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-explicit-dimensions</string>
<string key="qname">archives:num-explicit-dimensions</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) explicit dimensions in each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) explicit dimensions in each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of dimensions</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-facts</string>
<string key="qname">archives:num-facts</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of facts of each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of facts of each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of facts</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-footnotes</string>
<string key="qname">archives:num-footnotes</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of XBRL footnotes of each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of XBRL footnotes of each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of footnotes</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-hypercubes</string>
<string key="qname">archives:num-hypercubes</string>
<string key="signature">($archives-or-ids as item()*) as integer*</string>
<string key="description"> Return the number of hypercubes in each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of hypercubes in each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of hypercubes</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-members</string>
<string key="qname">archives:num-members</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of (distinct) members in each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of (distinct) members in each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of members</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">num-networks</string>
<string key="qname">archives:num-networks</string>
<string key="signature">($archives-or-ids) as integer*</string>
<string key="description"> Return the number of networks in each of the given archives.
</string>
<string key="summary">&lt;p&gt; Return the number of networks in each of the given archives.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">archives-or-ids</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; list of archives or IDs&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer*</string>
<string key="description">the said number of networks</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables">
<map>
<string key="name">archives:col</string>
<string key="type">string</string>
<string key="description"> Name of the collection the archives are stored in.
</string>
</map>
<map>
<string key="name">archives:ENTITY</string>
<string key="type">string</string>
<string key="description"> Name of the field which points to the reporting entity.
</string>
</map>
</array>
</map>
<map key="http://www.28msec.com/modules/xmlrpc">
<string key="ns">http://www.28msec.com/modules/xmlrpc</string>
<string key="description"> XML RPC Client Module
This module provides the functions necessary to execute remote call
procedures using
&lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="http://www.xmlrpc.com/spec" target="_blank"&gt;XML-RPC&lt;/a&gt;.
The application/mashup creator does not need to know the
specifics of &lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="http://www.xmlrpc.com/spec" target="_blank"&gt;XML-RPC&lt;/a&gt; to use this module.
Usage:
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;xmlrpc:invoke("http://www.advogato.org/XMLRPC", "test.sumprod", (5, 7))&lt;/pre&gt;
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;xmlrpc:invoke("http://www.advogato.org/XMLRPC", "test.capitalize", "HelloWorld")&lt;/pre&gt;
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;xmlrpc:invoice("http://www.example.com/XMLRPC", "test.foo", ("some-parameter",
&amp;lt;struct&amp;gt;
&amp;lt;member&amp;gt;
&amp;lt;name&amp;gt;Foo&amp;lt;/name&amp;gt;
&amp;lt;value&amp;gt;&amp;lt;string&amp;gt;Bar&amp;lt;/string&amp;gt;&amp;lt;/value&amp;gt;
&amp;lt;/member&amp;gt;
&amp;lt;/struct&amp;gt;))&lt;/pre&gt;
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://www.xmlrpc.com/spec" target="_blank"&gt;XML-RPC Specification&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://en.wikipedia.org/wiki/XML-RPC" target="_blank"&gt;XML-RPC Wikipedia article&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;William Candillon {william.candillon@28msec.com}&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">ann</string>
</map>
<map>
<string key="uri">http://expath.org/ns/http-client</string>
<string key="prefix">http</string>
</map>
<map>
<string key="uri">http://expath.org/ns/http-client</string>
<string key="prefix">http-client</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/xmlrpc</string>
<string key="prefix">xmlrpc</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">invoke</string>
<string key="qname">xmlrpc:invoke</string>
<string key="signature">($endpoint-url as xs:string, $method as xs:string) as item()*</string>
<string key="description"> Invoke a remote method without parameters.
Calling this function is equivalent to xmlrpc:invoke($url, $method, ())
</string>
<string key="summary">&lt;p&gt; Invoke a remote method without parameters.&lt;/p&gt;</string>
<string key="annotation_str"> %ann:sequential</string>
<array key="annotations">
<map>
<string key="prefix">ann</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">endpoint-url</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; URL of the XML-RPC server.&lt;/div&gt;</string>
</map>
<map>
<string key="name">method</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; Name of the method to invoke.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">Result of the method invocation.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">invoke</string>
<string key="qname">xmlrpc:invoke</string>
<string key="signature">($endpoint-url as xs:string, $method as xs:string, $parameters as item()*) as item()*</string>
<string key="description"> Invoke a remote method with parameters.
</string>
<string key="summary">&lt;p&gt; Invoke a remote method with parameters.&lt;/p&gt;</string>
<string key="annotation_str"> %ann:sequential</string>
<array key="annotations">
<map>
<string key="prefix">ann</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">endpoint-url</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; URL of the XML-RPC server.&lt;/div&gt;</string>
</map>
<map>
<string key="name">method</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; Name of the method to invoke.&lt;/div&gt;</string>
</map>
<map>
<string key="name">parameters</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; Method parameters. Struct and Arrays need to follow XML-RPC format. Atomic types will be automatically convert to the proper XML-RPC data format.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">Result of the method invocation.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables">
<map>
<string key="name">xmlrpc:ERR_001</string>
<string key="type">xs:QName</string>
<string key="description"> XML-RPC serialization error.
</string>
</map>
</array>
</map>
<map key="http://zorba.io/modules/unordered-maps">
<string key="ns">http://zorba.io/modules/unordered-maps</string>
<string key="description"> This module defines a set of functions for working with maps. A map
is identified by a string and can be created using the map:create function
and dropped using the map:drop function.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
It is possible to create persistent and transient maps. The lifetime of a
transient map is limited by the execution of the current query.
A persistent map lives until it is explicitly dropped.
Accordingly, it is also available to other requests.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
For example,
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:create("my-map", ["string", "integer"], { "persistent" : false })&lt;/pre&gt;
will create a transient map named my-map having two keys.
The types of the keys are string and integer.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The key of a particular entry in the map can consist of a tuple of
atomic values (called key attributes). The actual type of each attribute
is determined when the map is created. The value of each entry is a
sequence of items. If an item in this sequence is a object or array,
this item needs to belong to a collection, otherwise, an error is raised.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Matthias Brantner&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/unordered-maps</string>
<string key="prefix">map</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://zorba.io/errors</string>
<string key="prefix">zerr</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">available-maps</string>
<string key="qname">map:available-maps</string>
<string key="signature">() as string* external</string>
<string key="description"> The function returns a sequence of names of the maps that are
available (persistent and non-persistent). The sequence will be
empty if there are no maps.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; The function returns a sequence of names of the maps that are
available (persistent and non-persistent).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">string*</string>
<string key="description">A sequence of string, one for each available map, or an empty sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">create</string>
<string key="qname">map:create</string>
<string key="signature">($name as string, $key-types as item()) as empty-sequence() external</string>
<string key="description"> Create a persistent map with a given name and type identifiers for the key
attributes.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the map has only one key attribute, a single type identifier is given,
for more than one key attribute an array of type identifiers is given.
Calling this function is equivalent to calling create with the options
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;{ "persistent" : true }&lt;/code&gt;
Note that the function is sequential and immediately creates the map.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Each key-type should be specified as string (e.g. "integer",
"string", "boolean", "double", or "datetime").
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
For example,
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:create("my-map", "string")&lt;/pre&gt; or
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:create("my-map", ["string", "integer"])&lt;/pre&gt;.
</string>
<string key="summary">&lt;p&gt; Create a persistent map with a given name and type identifiers for the key
attributes.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map (the restrictions on collection names apply)&lt;/div&gt;</string>
</map>
<map>
<string key="name">key-types</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function is sequential and immediately creates the corresponding map. It returns the empty-sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;err:XPTY0004 if any of the key attribute types is not a subtype of anyAtomicType.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZSTR0001 if a map with the given name already exists.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY1000 if the given name is not a legal collection name&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0043 if any of the given options has an invalid type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">create</string>
<string key="qname">map:create</string>
<string key="signature">($name as string, $key-types as item(), $options as object()) as empty-sequence() external</string>
<string key="description"> Create a map with a given name, type identifiers for the key attributes, and
options.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the map has only one key attribute, a single type identifier is given,
for more than one key attribute an array of type identifiers is given.
Currently only one option is supported: To create a transient map the object
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;{ "persistent" : false }&lt;/code&gt;
has to be passed to the $options parameter.
Note that the function is sequential and immediately creates the map in the
store.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Note that a map cannot be created if it already exists in a parent context.
For example, a map that was created in an outer query cannot be
created again in an inner query executed using the
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;reflection:eval-s&lt;/code&gt; function.
</string>
<string key="summary">&lt;p&gt; Create a map with a given name, type identifiers for the key attributes, and
options.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map (the restrictions on collection names apply)&lt;/div&gt;</string>
</map>
<map>
<string key="name">key-types</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; an object describing options for the map&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function is sequential and immediately creates the corresponding map but returns the empty-sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;err:XPTY0004 if any of the attribute types is not a subtype of anyAtomicType.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZSTR0001 if a map with the given name already exists.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY1000 if the given name is not a legal collection name&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0043 if any of the given options has an invalid type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">delete</string>
<string key="qname">map:delete</string>
<string key="signature">($name as string, $key as item()) as empty-sequence() external</string>
<string key="description"> Removes an entry identified by the given key from the map.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the map has only one key attribute, a single key value is given, for
more than one key attribute an array of key values is given.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Note that it is possible to insert entries with empty key attributes.
However as the removing the entries is based on the "eq" comparison and
as "eq" with an empty sequence always return false, it is not possible
to delete these entries.
</string>
<string key="summary">&lt;p&gt; Removes an entry identified by the given key from the map.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
<map>
<string key="name">key</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; either a single attribute key or an array of keys&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function is sequential and immediately deletes the entry into the map but returns the empty-sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0025 if the given number of key attributes does not match the number of key attributes specified when creating the map (see the map:create function).&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZXQD0005 if any of the given key attributes can not be cast (or is not a subtype) of the corresponding key attribute specified when creating the map.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">drop</string>
<string key="qname">map:drop</string>
<string key="signature">($name as string) as empty-sequence() external</string>
<string key="description"> Deletes the map with the given name.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Note that a map can only be dropped in the context it was created.
For example, a map that was created in an outer query cannot be
dropped in an inner query executed using the
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;reflection:eval-s&lt;/code&gt; function.
</string>
<string key="summary">&lt;p&gt; Deletes the map with the given name.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map to drop&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function is sequential and immediately drops the map. It returns the empty-sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">get</string>
<string key="qname">map:get</string>
<string key="signature">($name as string, $key as item()) as item()* external</string>
<string key="description"> Returns the value of the entry with the given key from the map.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the map has only one key attribute, a single key value is given, for
more than one key attribute an array of key values is given.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Note that it is possible to insert entries with empty key attributes.
However as the getting the entries is based on the "eq" comparison and
as "eq" with an empty sequence always return false, it is not possible
to retrieve these entries.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
For example,
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:get("my-map", "key")&lt;/pre&gt; or
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:get("my-map", [ "key1", "key2" ])&lt;/pre&gt;.
</string>
<string key="summary">&lt;p&gt; Returns the value of the entry with the given key from the map.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
<map>
<string key="name">key</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; either a single attribute key or an array of keys&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the value of the entry in the map identified by the given key. The empty-sequence will be returned if no entry with the given key is contained in the map.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0025 if the given number of key attributes does not match the number of key attributes specified when creating the map (see the map:create function).&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZXQD0005 if any of the given key attributes can not be cast (or is not a subtype) of the corresponding key attribute specified when creating the map.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">insert</string>
<string key="qname">map:insert</string>
<string key="signature">($name as string, $key as item(), $value as item()*) as empty-sequence() external</string>
<string key="description"> Inserts a new entry into the map with the given name.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the map has only one key attribute, a single key value is given, for
more than one key attribute an array of key values is given.
If an entry with the given key already exists in the map, the value
sequences of the existing entry and the sequence passed using $value
argument are concatenated.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If an item in the value sequence is an object or array, this
item needs to belong to a collection, otherwise, an an error
is raised.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Note that it is possible to insert entries with empty key attributes
or key attributes having the value &lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;null&lt;/code&gt;. However, as
the comparison with an empty sequence or null always returns false,
it is not possible to retrieve these entries.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
For example,
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:insert("my-map", "key", "value")&lt;/pre&gt; or
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:insert("my-map", [ "key1", "key2" ] , (42, "value"))&lt;/pre&gt;.
</string>
<string key="summary">&lt;p&gt; Inserts a new entry into the map with the given name.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
<map>
<string key="name">key</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; either a single attribute key or an array of keys&lt;/div&gt;</string>
</map>
<map>
<string key="name">value</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the value of the entry to insert&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function is sequential and immediately inserts the entry into the map. It returns the empty-sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0025 if the given number of key attributes does not match the number of key attributes specified when creating the map (see the map:create function).&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZXQD0005 if any of the given key attributes can not be cast (or is not a subtype) of the corresponding key attribute specified when creating the map.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY1003 if the value to insert is an object or array it must belong to a collection.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">keys</string>
<string key="qname">map:keys</string>
<string key="signature">($name as string) as array()* external</string>
<string key="description"> Returns the keys of all entries of a map. The keys
are returned as sequence of arrays.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The following condition always holds:
&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:size($name) eq count(map:keys($name))&lt;/tt&gt;
</string>
<string key="summary">&lt;p&gt; Returns the keys of all entries of a map.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">array()*</string>
<string key="description">an sequence of arrays each array containing the values of all attributes of one key.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">options</string>
<string key="qname">map:options</string>
<string key="signature">($name as string) as object() external</string>
<string key="description"> The function returns the options that were passed during creation or the
default options if no options were passed.
</string>
<string key="summary">&lt;p&gt; The function returns the options that were passed during creation or the
default options if no options were passed.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">an options object</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">size</string>
<string key="qname">map:size</string>
<string key="signature">($name as string) as integer external</string>
<string key="description"> Returns the number of entries in a map.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The following condition always holds:
&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;map:size($name) eq count(map:keys($name))&lt;/tt&gt;
</string>
<string key="summary">&lt;p&gt; Returns the number of entries in a map.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the map&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">the number of entries in the map.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0023 if a map with the given name does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables">
<map>
<string key="name">map:PERSISTENT</string>
<string key="type">string</string>
<string key="description"> Constant containing the field name of the options object
indiciating whether a map is persistent or transient.
</string>
</map>
</array>
</map>
<map key="http://www.28msec.com/modules/assertion">
<string key="ns">http://www.28msec.com/modules/assertion</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
This module provides a set of assertion functions.
&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;28msec&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/assertion</string>
<string key="prefix">assertion</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">equals-deep</string>
<string key="qname">assertion:equals-deep</string>
<string key="signature">($expected as item()*, $actual as item()*) as item()*</string>
<string key="description"> Asserts that two objects are deep-equal.
If they are not, an error containing the diff is raised.
</string>
<string key="summary">&lt;p&gt; Asserts that two objects are deep-equal.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">expected</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; expected value&lt;/div&gt;</string>
</map>
<map>
<string key="name">actual</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; actual value&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">actual value</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;assertion:A003 expected and actual value are not deep-equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">equals-general</string>
<string key="qname">assertion:equals-general</string>
<string key="signature">($expected as item()*, $actual as item()*) as item()*</string>
<string key="description"> Asserts that two objects are equal (by general comarison).
If they are not, an error containing the diff is raised.
</string>
<string key="summary">&lt;p&gt; Asserts that two objects are equal (by general comarison).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">expected</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; expected value&lt;/div&gt;</string>
</map>
<map>
<string key="name">actual</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; actual value&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">actual value</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;assertion:A002 expected and actual value are not equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">equals-value</string>
<string key="qname">assertion:equals-value</string>
<string key="signature">($expected as item()?, $actual as item()?) as item()?</string>
<string key="description"> Asserts that two objects are equal (by value comparison).
If they are not, an error containing the diff is raised.
</string>
<string key="summary">&lt;p&gt; Asserts that two objects are equal (by value comparison).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">expected</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; expected value&lt;/div&gt;</string>
</map>
<map>
<string key="name">actual</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; actual value&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()?</string>
<string key="description">actual value</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;assertion:A001 expected and actual value are not equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables">
<map>
<string key="name">assertion:A001</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.28msec.com/modules/assertion" and
local name 'A001'. 'equals-value' assertion failed.
</string>
</map>
<map>
<string key="name">assertion:A002</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.28msec.com/modules/assertion" and
local name 'A002'. 'equals-general' assertion failed.
</string>
</map>
<map>
<string key="name">assertion:A003</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.28msec.com/modules/assertion" and
local name 'A003'. 'equals-general' assertion failed.
</string>
</map>
</array>
</map>
<map key="http://www.zorba-xquery.com/modules/image/basic">
<string key="ns">http://www.zorba-xquery.com/modules/image/basic</string>
<string key="description"> This module provides function to do the following basic image operations:
&lt;ul xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
&lt;li&gt;create empty images&lt;/li&gt;
&lt;li&gt;compare images&lt;/li&gt;
&lt;li&gt;compress image&lt;/li&gt;
&lt;li&gt;convert an image one format to another&lt;/li&gt;
&lt;li&gt;retrieve with, height, format, and exif information from an image&lt;/li&gt;
&lt;/ul&gt;
The following image formats are supported:
&lt;ul xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
&lt;li&gt;GIF&lt;/li&gt;
&lt;li&gt;JPEG&lt;/li&gt;
&lt;li&gt;PNG&lt;/li&gt;
&lt;li&gt;TIFF&lt;/li&gt;
&lt;li&gt;BMP&lt;/li&gt;
&lt;/ul&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The errors raised by functions of this module have the namespace
&lt;tt&gt;http://www.zorba-xquery.com/modules/image/error&lt;/tt&gt; (associated with prefix ierr).&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Daniel Thomas&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://www.zorba-xquery.com/modules/image/basic</string>
<string key="prefix">basic</string>
</map>
<map>
<string key="uri">http://www.w3.org/2005/xqt-errors</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/image/error</string>
<string key="prefix">ierr</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/image/image</string>
<string key="prefix">image</string>
</map>
<map>
<string key="uri">http://www.w3.org/2000/svg</string>
<string key="prefix">svg</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">compress</string>
<string key="qname">basic:compress</string>
<string key="signature">($image as xs:base64Binary, $quality as xs:unsignedInt) as xs:base64Binary external</string>
<string key="description"> Compresses the passed image.
Compressing means lowering the quality and reducing the size.
</string>
<string key="summary">&lt;p&gt; Compresses the passed image.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image&lt;/div&gt;</string>
</map>
<map>
<string key="name">quality</string>
<string key="type">xs:unsignedInt</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; compression level, 0 to 100&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:base64Binary</string>
<string key="description">the compressed image</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">convert-svg-string</string>
<string key="qname">basic:convert-svg-string</string>
<string key="signature">($svg as xs:string, $format as xs:string) as xs:base64Binary</string>
<string key="description"> Converts an SVG image to a supported image format.
</string>
<string key="summary">&lt;p&gt; Converts an SVG image to a supported image format.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">svg</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image to convert as string&lt;/div&gt;</string>
</map>
<map>
<string key="name">format</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; target format&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:base64Binary</string>
<string key="description">the resulting image</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed SVG is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">convert-svg</string>
<string key="qname">basic:convert-svg</string>
<string key="signature">($svg as element(svg:svg), $format as xs:string) as xs:base64Binary</string>
<string key="description"> Converts an SVG image to a supported image format.
</string>
<string key="summary">&lt;p&gt; Converts an SVG image to a supported image format.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">svg</string>
<string key="type">element(svg:svg)</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image to convert&lt;/div&gt;</string>
</map>
<map>
<string key="name">format</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; target format&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:base64Binary</string>
<string key="description">the resulting image</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed SVG is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">convert</string>
<string key="qname">basic:convert</string>
<string key="signature">($image as xs:base64Binary, $format as xs:string) as xs:base64Binary</string>
<string key="description"> Converts an image to another format.
</string>
<string key="summary">&lt;p&gt; Converts an image to another format.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the source image&lt;/div&gt;</string>
</map>
<map>
<string key="name">format</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the format (see supported formats above) of the resulting image.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:base64Binary</string>
<string key="description">A new image with the same content as the passed image but with the specified file format.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;err:FORG0001 unsupported image format&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">create</string>
<string key="qname">basic:create</string>
<string key="signature">($width as xs:unsignedInt, $height as xs:unsignedInt, $format as xs:string) as xs:base64Binary</string>
<string key="description"> Creates an empty image with background color white.
</string>
<string key="summary">&lt;p&gt; Creates an empty image with background color white.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">width</string>
<string key="type">xs:unsignedInt</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the width of the new image&lt;/div&gt;</string>
</map>
<map>
<string key="name">height</string>
<string key="type">xs:unsignedInt</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the height of the new image&lt;/div&gt;</string>
</map>
<map>
<string key="name">format</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the format of the new image&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:base64Binary</string>
<string key="description">newly created image</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;err:FORG0001 unsupported image format&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">equals</string>
<string key="qname">basic:equals</string>
<string key="signature">($image1 as xs:base64Binary, $image2 as xs:base64Binary) as xs:boolean external</string>
<string key="description"> Compares two images.
</string>
<string key="summary">&lt;p&gt; Compares two images.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image1</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; first image&lt;/div&gt;</string>
</map>
<map>
<string key="name">image2</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; second image&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">True if the images are equal.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 one of the passed images is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">exif</string>
<string key="qname">basic:exif</string>
<string key="signature">($image as xs:base64Binary, $tag as xs:string) as xs:string? external</string>
<string key="description"> Reads exif information from an image.
This function works for JPEG and TIFF images only.
It returns empty sequence if no exif information matching the passed tag is found.
</string>
<string key="summary">&lt;p&gt; Reads exif information from an image.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image&lt;/div&gt;</string>
</map>
<map>
<string key="name">tag</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the field name we want read (e.g. DateTime).&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string?</string>
<string key="description">exif field content</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">format</string>
<string key="qname">basic:format</string>
<string key="signature">($image as xs:base64Binary) as xs:string external</string>
<string key="description"> Returns the format of the passed image.
</string>
<string key="summary">&lt;p&gt; Returns the format of the passed image.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">the format</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">height</string>
<string key="qname">basic:height</string>
<string key="signature">($image as xs:base64Binary) as xs:unsignedInt external</string>
<string key="description"> Returns the height of the passed image.
</string>
<string key="summary">&lt;p&gt; Returns the height of the passed image.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:unsignedInt</string>
<string key="description">the height in pixels</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">width</string>
<string key="qname">basic:width</string>
<string key="signature">($image as xs:base64Binary) as xs:unsignedInt external</string>
<string key="description"> Returns the width of the passed image.
</string>
<string key="summary">&lt;p&gt; Returns the width of the passed image.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">image</string>
<string key="type">xs:base64Binary</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the image&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:unsignedInt</string>
<string key="description">the width in pixels</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;ierr:IM001 the passed image is invalid.&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://api.28.io/indices">
<string key="ns">http://api.28.io/indices</string>
<string key="description"/>
<array key="sees"/>
<array key="authors"/>
<null key="version"/>
<null key="encoding"/>
<array key="namespaces">
<map>
<string key="uri"/>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://api.28.io/indices</string>
<string key="prefix">in</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/http/request</string>
<string key="prefix">req</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/http/response</string>
<string key="prefix">resp</string>
</map>
<map>
<string key="uri">http://api.28.io/util</string>
<string key="prefix">util</string>
</map>
<map>
<string key="uri">http://api.28.io/validation</string>
<string key="prefix">validate</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">create-index</string>
<string key="qname">in:create-index</string>
<string key="signature">($new-index as object()) as empty-sequence()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">new-index</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">delete-index</string>
<string key="qname">in:delete-index</string>
<string key="signature">($name) as empty-sequence()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">dispatch</string>
<string key="qname">in:dispatch</string>
<string key="signature">()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">get-index</string>
<string key="qname">in:get-index</string>
<string key="signature">($name as xs:string) as object()?</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()?</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">list-indices</string>
<string key="qname">in:list-indices</string>
<string key="signature">() as array()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">array()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">metadata</string>
<string key="qname">in:metadata</string>
<string key="signature">()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">2</number>
<string key="name">put-index</string>
<string key="qname">in:put-index</string>
<string key="signature">($name as xs:string, $new-index-obj as object()) as empty-sequence()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">new-index-obj</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">refresh-index</string>
<string key="qname">in:refresh-index</string>
<string key="signature">($index as xs:string) as empty-sequence()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">validate-index</string>
<string key="qname">in:validate-index</string>
<string key="signature">($index as object()) as empty-sequence()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://api.28.io/xdmview">
<string key="ns">http://api.28.io/xdmview</string>
<string key="description"/>
<array key="sees"/>
<array key="authors"/>
<null key="version"/>
<null key="encoding"/>
<array key="namespaces">
<map>
<string key="uri"/>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://api.28.io/model</string>
<string key="prefix">model</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/reference</string>
<string key="prefix">ref</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/schemas/xdm</string>
<string key="prefix">xdm</string>
</map>
<map>
<string key="uri">http://api.28.io/xdmview</string>
<string key="prefix">xdmview</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">show-namespaces</string>
<string key="qname">xdmview:show-namespaces</string>
<string key="signature">($namespaces)</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">namespaces</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">3</number>
<string key="name">show-node</string>
<string key="qname">xdmview:show-node</string>
<string key="signature">($node, $namespaces, $include-noderef as xs:boolean)</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">node</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">namespaces</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">include-noderef</string>
<string key="type">xs:boolean</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">2</number>
<string key="name">show-nodes</string>
<string key="qname">xdmview:show-nodes</string>
<string key="signature">($nodes, $include-noderef as xs:boolean)</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">nodes</string>
<null key="type"/>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">include-noderef</string>
<string key="type">xs:boolean</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/math">
<string key="ns">http://zorba.io/modules/math</string>
<string key="description"> Extensive math library.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Daniel Turcanu, Dan Muresan&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://www.w3.org/2005/xpath-functions/math</string>
<string key="prefix">W3Cmath</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/math</string>
<string key="prefix">math</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">acosh</string>
<string key="qname">math:acosh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Inverse hyperbolic cosine.
</string>
<string key="summary">&lt;p&gt; Inverse hyperbolic cosine.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the arg&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the result of acosh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">asinh</string>
<string key="qname">math:asinh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Calculate the inverse hyperbolic sine.
</string>
<string key="summary">&lt;p&gt; Calculate the inverse hyperbolic sine.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the arg&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the result of asinh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">atanh</string>
<string key="qname">math:atanh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Calculate the hyperbolic tangent.
</string>
<string key="summary">&lt;p&gt; Calculate the hyperbolic tangent.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; must be in range -1 ... +1 (exclusive)&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the result of atanh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">avedev</string>
<string key="qname">math:avedev</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Returns the average of the absolute deviations of data points from their mean.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(abs(x - average_x))/n, where n is the count of x in the sequence.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the average of the absolute deviations of data points from their mean.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. Sequence can be of any length from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The formula result</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">cast-as-numeric</string>
<string key="qname">math:cast-as-numeric</string>
<string key="signature">($number as anyAtomicType) as anyAtomicType</string>
<string key="description"> Cast the anyAtomicType to a numeric type.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the value is already of a numeric type then nothing is changed.
Otherwise the value is casted to the numeric type that is most appropriate.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Cast the anyAtomicType to a numeric type.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The parameter can be a number, string, boolean value.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">anyAtomicType</string>
<string key="description">The casted value.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:VALUE_NOT_NUMERIC if the value cannot be casted to numeric type.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">ceiling</string>
<string key="qname">math:ceiling</string>
<string key="signature">($number as double, $significance as double) as double</string>
<string key="description"> Returns number rounded up, away from zero, to the nearest multiple of significance.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Significance must have the same sign as number.
Number and significance must be of a numeric type or castable to numeric.
Significance must not be zero.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns number rounded up, away from zero, to the nearest multiple of significance.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value you want to round.&lt;/div&gt;</string>
</map>
<map>
<string key="name">significance</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The multiple to which you want to round.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rounded value.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if significance is zero or it doesn't have the same sign as number.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">cosh</string>
<string key="qname">math:cosh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Returns the hyperbolic cosine of x.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If the result it too large, INF is returned.
</string>
<string key="summary">&lt;p&gt; Returns the hyperbolic cosine of x.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; must be smaller than 7.104760e+002&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">cosh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">deg-to-rad</string>
<string key="qname">math:deg-to-rad</string>
<string key="signature">($deg as double) as double</string>
<string key="description"> Convert angle from degrees to radians. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The parameter is first converted to value range of (-360, 360).
</string>
<string key="summary">&lt;p&gt; Convert angle from degrees to radians.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">deg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; angle in degrees&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">value in radians (-2PI, 2PI)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">even</string>
<string key="qname">math:even</string>
<string key="signature">($number as double) as integer</string>
<string key="description"> Returns number rounded up to the nearest even integer.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Regardless of the sign of number, a value is rounded up when adjusted away from zero.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns number rounded up to the nearest even integer.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value to round.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The rounded value casted as numeric type.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">fact</string>
<string key="qname">math:fact</string>
<string key="signature">($number as integer) as integer</string>
<string key="description"> Returns the factorial of a number.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the factorial of a number.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The non-negative number you want the factorial of.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">Returns the factorial of a number. The factorial of a number is equal to 1*2*3*...* number.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the number is smaller than zero&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">factdouble</string>
<string key="qname">math:factdouble</string>
<string key="signature">($number as integer) as integer</string>
<string key="description"> Returns the double factorial of a number.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Computes the double factorial of n as n(n-2)(n-4)...&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the double factorial of a number.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The positive integer value.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The result as integer.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the number is negative.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">floor</string>
<string key="qname">math:floor</string>
<string key="signature">($number as double, $significance as double) as double</string>
<string key="description"> Rounds number down, toward zero, to the nearest multiple of significance.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Significance must have the same sign as number.
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Rounds number down, toward zero, to the nearest multiple of significance.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value you want to round.&lt;/div&gt;</string>
</map>
<map>
<string key="name">significance</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The multiple to which you want to round.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rounded value as numeric type.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if significance is zero or it doesn't have the same sign as number.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">fmod</string>
<string key="qname">math:fmod</string>
<string key="signature">($x as double, $y as double) as double external</string>
<string key="description"> Function performing the modulo operation between the two arguments.
</string>
<string key="summary">&lt;p&gt; Function performing the modulo operation between the two arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the x&lt;/div&gt;</string>
</map>
<map>
<string key="name">y</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the y&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The remainder of x/y.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">frexp</string>
<string key="qname">math:frexp</string>
<string key="signature">($arg as double) as double+ external</string>
<string key="description"> Returns the argument split as mantissa and exponent.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The recombining formula is (mantissa * 2^exponent).
</string>
<string key="summary">&lt;p&gt; Returns the argument split as mantissa and exponent.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the double to be split.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double+</string>
<string key="description">A sequence of two doubles (mantissa, exponent)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">gcd</string>
<string key="qname">math:gcd</string>
<string key="signature">($numbers as integer+) as integer</string>
<string key="description"> Returns the greatest common divisor GCD of a sequence of integers.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The sequence can have one or more positive integers.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the greatest common divisor GCD of a sequence of integers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">integer</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of positive integers.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The GCD as integer.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if any number is smaller than zero.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">int</string>
<string key="qname">math:int</string>
<string key="signature">($number as double) as integer</string>
<string key="description"> Rounds a number down to the nearest integer.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Positive numbers are rounded toward zero, negative numbers are rounded away from zero.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Rounds a number down to the nearest integer.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value to be rounded.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The rounded integer.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-a-number</string>
<string key="qname">math:is-a-number</string>
<string key="signature">($value as anyAtomicType) as boolean</string>
<string key="description"> Checks if the anyAtomicType argument is actually a numeric type
or can be converted to numeric.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Checks if the anyAtomicType argument is actually a numeric type
or can be converted to numeric.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">value</string>
<string key="type">anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; Parameter to be checked.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">true if the value can be casted to numeric.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is_inf</string>
<string key="qname">math:is_inf</string>
<string key="signature">($arg as double) as boolean external</string>
<string key="description"> Checks if the double value is positive or negative infinite.
</string>
<string key="summary">&lt;p&gt; Checks if the double value is positive or negative infinite.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the double to be checked&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">boolean true if argument is pos INF or neg INF</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is_nan</string>
<string key="qname">math:is_nan</string>
<string key="signature">($arg as double) as boolean external</string>
<string key="description"> Checks if the double value is Not a Number (NaN).
</string>
<string key="summary">&lt;p&gt; Checks if the double value is Not a Number (NaN).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the arg&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">boolean true if the double is NaN</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">large</string>
<string key="qname">math:large</string>
<string key="signature">($numbers as double+, $k as integer) as double</string>
<string key="description"> Returns the k-th largest value in a data set. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If n is the number of data points in a range,
then LARGE(array,1) returns the largest value,
and LARGE(array,n) returns the smallest value.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.&lt;br xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Returns the k-th largest value in a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">k</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the position of largest value, with value from 1 to count of values&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The k-th largest value as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sequence is empty or k is not a value between 1 and the size of the sequence&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">lcm</string>
<string key="qname">math:lcm</string>
<string key="signature">($numbers as integer+) as integer</string>
<string key="description"> Returns the least common multiple of integers.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
LCM for two numbers is computed by multiplying them and dividing with GCD.
The function is applied recursively replacing the first two numbers in the sequence with their LCM.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the least common multiple of integers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">integer</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of one or more positive integers.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The LCM as integer.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if any number is smaller than zero.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">ldexp</string>
<string key="qname">math:ldexp</string>
<string key="signature">($x as double, $i as integer) as double external</string>
<string key="description"> Computes a real number from the mantissa and exponent.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is (x * 2^i).
</string>
<string key="summary">&lt;p&gt; Computes a real number from the mantissa and exponent.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the mantissa&lt;/div&gt;</string>
</map>
<map>
<string key="name">i</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the exponent&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the computed real number</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">median</string>
<string key="qname">math:median</string>
<string key="signature">($numbers as double*) as double</string>
<string key="description"> Returns the median of the given numbers. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The median is the number in the middle of a set of numbers.
Half the numbers have values that are greater than the median,
and half the numbers have values that are less than the median. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the median of the given numbers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">for odd count of numbers return the number in the middle of the sorted sequence. For even count of numbers return the average of the two numbers in the middle.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">mod</string>
<string key="qname">math:mod</string>
<string key="signature">($number as double, $divisor as double) as double</string>
<string key="description"> Returns the remainder after number is divided by divisor.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The result has the same sign as divisor.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the remainder after number is divided by divisor.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number for which you want to find the remainder.&lt;/div&gt;</string>
</map>
<map>
<string key="name">divisor</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number by which you want to divide number. This cannot be zero.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The remainder from division as numeric type.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:DIVIDE_BY_0 if divisor is zero after casting to numeric.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">mode</string>
<string key="qname">math:mode</string>
<string key="signature">($numbers as double*) as double</string>
<string key="description"> Returns the most frequently occurring, or repetitive, value in a sequence.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the most frequently occurring, or repetitive, value in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The most occuring number</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_INPUT if there are no duplicate numbers&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">modf</string>
<string key="qname">math:modf</string>
<string key="signature">($arg as double) as double+ external</string>
<string key="description"> Splits a floating-point value into fractional and integer parts.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Both the fraction and integer keep the original sign of the value.
</string>
<string key="summary">&lt;p&gt; Splits a floating-point value into fractional and integer parts.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the double to be split.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double+</string>
<string key="description">A sequence of two doubles (fraction, integer)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">mround</string>
<string key="qname">math:mround</string>
<string key="signature">($number as decimal, $multiple as double) as double</string>
<string key="description"> Returns a number rounded to the desired multiple.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
MROUND rounds up, away from zero, if the remainder of dividing number by multiple
is greater than or equal to half the value of multiple.
MROUND is computed through math:floor function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns a number rounded to the desired multiple.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">decimal</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value to round,&lt;/div&gt;</string>
</map>
<map>
<string key="name">multiple</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The multiple to which you want to round number.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rounded number up to the desired multiple.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">odd</string>
<string key="qname">math:odd</string>
<string key="signature">($number as double) as integer</string>
<string key="description"> Returns number rounded up to the nearest odd integer, away from zero.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns number rounded up to the nearest odd integer, away from zero.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The value to round.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The odd integer.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">percentile</string>
<string key="qname">math:percentile</string>
<string key="signature">($numbers as double*, $k_at as double) as double</string>
<string key="description"> Returns the k-th percentile of values in a sequence.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If k is not a multiple of 1/(n - 1),
PERCENTILE interpolates to determine the value at the k-th percentile.
The function is computed by (max-min)*k + min&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the k-th percentile of values in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
<map>
<string key="name">k_at</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the percentile, with value between 0 .. 1 inclusive&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The computed percentile</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if percentile is not between 0 .. 1&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">percentrank</string>
<string key="qname">math:percentrank</string>
<string key="signature">($numbers as double*, $x as double) as double</string>
<string key="description"> Returns the rank of a value in a data set as a percentage of the data set.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If x does not match one of the values in array,
PERCENTRANK interpolates to return the correct percentage rank. &lt;br xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is uses: (RANK - 1) / (size - 1) .&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the rank of a value in a data set as a percentage of the data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value for which you want to know the rank&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The percentage of rank.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sequence is zero length&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">prob</string>
<string key="qname">math:prob</string>
<string key="signature">($x_range as double+, $prob_range as double+, $range_lower_limit as double) as double</string>
<string key="description"> This is the same as math:prob#4, only that upper_limit is not specified.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The probability is computed only for range_lower_limit.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; This is the same as math:prob#4, only that upper_limit is not specified.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x_range</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the range of numeric values of x with which there are associated probabilities. This does not need to be ordered.&lt;/div&gt;</string>
</map>
<map>
<string key="name">prob_range</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is a set of probabilities associated with values in x_range.&lt;/div&gt;</string>
</map>
<map>
<string key="name">range_lower_limit</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value for which you want a probability.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The probability of the range_lower_limit value</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if any probability is not between 0 and 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sum of probabilities is not equal to 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if x_range and prob_range do not have the same number of values&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">prob</string>
<string key="qname">math:prob</string>
<string key="signature">($x_range as double+, $prob_range as double+, $range_lower_limit as double, $upper_limit as double) as double</string>
<string key="description"> Returns the probability that values in a range are between two limits.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the probability that values in a range are between two limits.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x_range</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the range of numeric values of x with which there are associated probabilities. This does not need to be ordered.&lt;/div&gt;</string>
</map>
<map>
<string key="name">prob_range</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is a set of probabilities associated with values in x_range.&lt;/div&gt;</string>
</map>
<map>
<string key="name">range_lower_limit</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the lower bound on the value for which you want a probability.&lt;/div&gt;</string>
</map>
<map>
<string key="name">upper_limit</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the upper bound on the value for which you want a probability.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The probability of the entire range</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if any probability is not between 0 and 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sum of probabilities is not equal to 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if x_range and prob_range do not have the same number of values&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">product</string>
<string key="qname">math:product</string>
<string key="signature">($numbers as double*) as double</string>
<string key="description"> Multiplies all the numbers given as arguments and returns the product.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Multiplies all the numbers given as arguments and returns the product.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of arguments convertible to numeric types. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The multiplication result as numeric type.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">quartile</string>
<string key="qname">math:quartile</string>
<string key="signature">($numbers as double*, $quart as integer) as double</string>
<string key="description"> Returns the quartile of a data set. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the quartile of a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">quart</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;one of the values 0, 1, 2, 3, 4 with meaning: &lt;dt&gt;0&lt;/dt&gt; &lt;dd&gt; compute minimum value&lt;/dd&gt; &lt;dt&gt;1&lt;/dt&gt; &lt;dd&gt; compute first quartile (25th percentile)&lt;/dd&gt; &lt;dt&gt;2&lt;/dt&gt; &lt;dd&gt; compute median value (50th percentile)&lt;/dd&gt; &lt;dt&gt;3&lt;/dt&gt; &lt;dd&gt; compute third quartile (75th percentile)&lt;/dd&gt; &lt;dt&gt;4&lt;/dt&gt; &lt;dd&gt; compute maximum value&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the computed quartile, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sequence is zero length or $quart is not one of the values 0,1,3,4&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">quotient</string>
<string key="qname">math:quotient</string>
<string key="signature">($numerator as double, $denominator as double) as integer</string>
<string key="description"> Returns the integer portion of a division.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the integer portion of a division.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numerator</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The divider.&lt;/div&gt;</string>
</map>
<map>
<string key="name">denominator</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The divisor. It cannot be zero.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The result value as numeric type.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:DIVIDE_BY_0 if denominator casted as numeric type has value zero.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">rad-to-deg</string>
<string key="qname">math:rad-to-deg</string>
<string key="signature">($rad as double) as double</string>
<string key="description"> Convert angle from radians to degrees. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Convert angle from radians to degrees.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">rad</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; value in radians&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">value in degrees (-360, 360)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">rank</string>
<string key="qname">math:rank</string>
<string key="signature">($x as double, $numbers as double*) as double</string>
<string key="description"> This RANK function is same as the above, only that $order_ascending is set by default to false.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; This RANK function is same as the above, only that $order_ascending is set by default to false.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number whose rank you want to find.&lt;/div&gt;</string>
</map>
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rank of $x.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">rank</string>
<string key="qname">math:rank</string>
<string key="signature">($x as double, $numbers as double*, $order_ascending as boolean) as double</string>
<string key="description"> Returns the rank of a number in a list of numbers. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The rank of a number is its size relative to other values in a list.
(If you were to sort the list, the rank of the number would be its position.)
RANK gives duplicate numbers the same rank.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the rank of a number in a list of numbers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number whose rank you want to find.&lt;/div&gt;</string>
</map>
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of numbers. The sequence can be of any length.&lt;/div&gt;</string>
</map>
<map>
<string key="name">order_ascending</string>
<string key="type">boolean</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;A boolean having the meaning: &lt;dt&gt;false&lt;/dt&gt;&lt;dd&gt;then rank the number as if the sequence was sorted in descending order.&lt;/dd&gt; &lt;dt&gt;true&lt;/dt&gt; &lt;dd&gt;then rank the number as if the sequence was sorted in ascending order.&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rank of $x.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">roman</string>
<string key="qname">math:roman</string>
<string key="signature">($number as integer) as string</string>
<string key="description"> Converts an Arabic numeral to roman, as text.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Only the classic format is supported (out of all formats Excel requires).
M is the largest digit, it represents 1000.
Numbers bigger than 2000 will be represented by a sequence of "M".
D = 500, C = 100, L = 50, X = 10, V = 5, I = 1.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Converts an Arabic numeral to roman, as text.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A positive integer.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">The roman string representation.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the input integer is negative&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">round</string>
<string key="qname">math:round</string>
<string key="signature">($number as double, $precision as integer) as double</string>
<string key="description"> Rounds a number to a specified number of digits.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If precision is greater than 0 (zero), then number is rounded
to the specified number of decimal places.
If num_digits is 0, then number is rounded to the nearest integer.
If num_digits is less than 0, then number is rounded to the left of the decimal point.
The 0.5 is rounded away from zero. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Rounds a number to a specified number of digits.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number to round.&lt;/div&gt;</string>
</map>
<map>
<string key="name">precision</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of decimal places to keep.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The rounded number as numeric type.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">rounddown</string>
<string key="qname">math:rounddown</string>
<string key="signature">($number as double, $precision as integer) as double</string>
<string key="description"> Rounds a number down, toward zero.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If num_digits is greater than 0 (zero), then number is rounded down
to the specified number of decimal places.
If num_digits is 0, then number is rounded down to the nearest integer.
If num_digits is less than 0, then number is rounded down to the left of the decimal point. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Rounds a number down, toward zero.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number to round&lt;/div&gt;</string>
</map>
<map>
<string key="name">precision</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of decimal places to keep.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the truncated number toward zero, as numeric type.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">roundup</string>
<string key="qname">math:roundup</string>
<string key="signature">($number as double, $precision as integer) as double</string>
<string key="description"> Rounds a number up, away from 0 (zero).&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
If num_digits is greater than 0 (zero), then number is rounded down
to the specified number of decimal places.
If num_digits is 0, then number is rounded down to the nearest integer.
If num_digits is less than 0, then number is rounded down to the left of the decimal point. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Rounds a number up, away from 0 (zero).&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number to round&lt;/div&gt;</string>
</map>
<map>
<string key="name">precision</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of decimal places to keep.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The truncated number away from zero, as numeric type.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">sign</string>
<string key="qname">math:sign</string>
<string key="signature">($number as double) as integer</string>
<string key="description"> Determines the sign of a number. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Returns 1 if the number is positive, zero (0) if the number is 0,
and -1 if the number is negative.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Determines the sign of a number.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The argument&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The sign as (-1, 0, 1).</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">sinh</string>
<string key="qname">math:sinh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Calculate the hyperbolic sine.
</string>
<string key="summary">&lt;p&gt; Calculate the hyperbolic sine.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the arg&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the result of sinh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">slope</string>
<string key="qname">math:slope</string>
<string key="signature">($known_y as double+, $known_x as double+) as double</string>
<string key="description"> Returns the slope of the linear regression line through data points in known_y's and known_x's.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The slope is the vertical distance divided by the horizontal distance between
any two points on the line, which is the rate of change along the regression line.
It computes the formula:&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
sum((x - average_x)(y - average_y)) / sum((x - average_x)^2)&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
where average_x and average_y are computed with AVERAGE function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the slope of the linear regression line through data points in known_y's and known_x's.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">known_y</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of y numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">known_x</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of x numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The slope value, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_INPUT if there are different numbers of x's and y's or if the sequence is empty&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:DIVIDE_BY_0 if all x's are equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">small</string>
<string key="qname">math:small</string>
<string key="signature">($numbers as double*, $k as integer) as double</string>
<string key="description"> This function computes the k-th smallest value in a data set. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Use this function to return values with a particular relative standing in a data set.
If n is the number of data points in array, SMALL(array,1) equals the smallest value,
and SMALL(array,n) equals the largest value.
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; This function computes the k-th smallest value in a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">k</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The position (from the smallest) in the sequence of data to return. Must have value between 1 and size of sequence.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The k-th smallest value of $numbers.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if the sequence is zero length or $k is not a value between 1 and the size of sequence.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">sort-numbers</string>
<string key="qname">math:sort-numbers</string>
<string key="signature">($numbers as double*) as double*</string>
<string key="description"> Sorts a sequence of numbers or arguments castable to numeric.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
It first casts all arguments to numeric and then sorts ascending.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Helper function.&lt;br xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Sorts a sequence of numbers or arguments castable to numeric.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of arguments castable to numeric.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double*</string>
<string key="description">The sorted sequence as numeric types.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">standardize</string>
<string key="qname">math:standardize</string>
<string key="signature">($x as double, $mean as double, $standard_dev as double) as double</string>
<string key="description"> Returns a normalized value from a distribution characterized by mean and standard_dev.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is (x - mean) / standard_dev .&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns a normalized value from a distribution characterized by mean and standard_dev.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value you want to normalize&lt;/div&gt;</string>
</map>
<map>
<string key="name">mean</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the arithmetic mean of the distribution.&lt;/div&gt;</string>
</map>
<map>
<string key="name">standard_dev</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the standard deviation of the distribution.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The normalized x, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if standard_dev is a value smaller than zero or equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">stdev</string>
<string key="qname">math:stdev</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Estimates standard deviation based on a sample. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The standard deviation is a measure of how widely values are dispersed
from the average value (the mean).
It is computed with formula:
sqrt( sum((x-average_x)^2) / (n-1) ) = sqrt ( VAR(numbers) )&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Estimates standard deviation based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the standard deviation, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">stdeva</string>
<string key="qname">math:stdeva</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Estimates standard deviation based on a sample. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The standard deviation is a measure of how widely values are dispersed
from the average value (the mean).
It is computed with formula:
sqrt( sum((x-average_x)^2) / (n-1) ) = sqrt ( VARA(numbers) )&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Estimates standard deviation based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the standard deviation, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">stdevp</string>
<string key="qname">math:stdevp</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Calculates standard deviation based on the entire population given as arguments. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The standard deviation is a measure of how widely values are dispersed from
the average value (the mean).
It is computed with formula:
sqrt( sum((x-average_x)^2) / n ) = sqrt ( VARP(numbers) )&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Calculates standard deviation based on the entire population given as arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the standard deviation, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">stdevpa</string>
<string key="qname">math:stdevpa</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Calculates standard deviation based on the entire population given as arguments. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The standard deviation is a measure of how widely values are dispersed from
the average value (the mean).
It is computed with formula:
sqrt( sum((x-average_x)^2) / n ) = sqrt ( VARPA(numbers) )&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Calculates standard deviation based on the entire population given as arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the standard deviation, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">subtotal</string>
<string key="qname">math:subtotal</string>
<string key="signature">($function_num as integer, $numbers as double*) as double</string>
<string key="description"> Returns a subtotal in a sequence of numbers.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The function applied is given by $function_num.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns a subtotal in a sequence of numbers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">function_num</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;defines the function to be applied on sequence values. The possible values are: &lt;dt&gt;1 or 101&lt;/dt&gt; &lt;dd&gt; AVERAGE&lt;/dd&gt; &lt;dt&gt;2 or 102&lt;/dt&gt; &lt;dd&gt; COUNT&lt;/dd&gt; &lt;dt&gt;3 or 103&lt;/dt&gt; &lt;dd&gt; COUNTA&lt;/dd&gt; &lt;dt&gt;4 or 104&lt;/dt&gt; &lt;dd&gt; MAX&lt;/dd&gt; &lt;dt&gt;5 or 105&lt;/dt&gt; &lt;dd&gt; MIN&lt;/dd&gt; &lt;dt&gt;6 or 106&lt;/dt&gt; &lt;dd&gt; PRODUCT&lt;/dd&gt; &lt;dt&gt;7 or 107&lt;/dt&gt; &lt;dd&gt; STDEV&lt;/dd&gt; &lt;dt&gt;8 or 108&lt;/dt&gt; &lt;dd&gt; STDEVP&lt;/dd&gt; &lt;dt&gt;9 or 109&lt;/dt&gt; &lt;dd&gt; SUM&lt;/dd&gt; &lt;dt&gt;10 or 110&lt;/dt&gt; &lt;dd&gt; VAR&lt;/dd&gt; &lt;dt&gt;11 or 111&lt;/dt&gt; &lt;dd&gt; VARP&lt;/dd&gt;&lt;/dl&gt; In this implementation there is no difference between x and 10x.&lt;br/&gt;&lt;/div&gt;</string>
</map>
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The function result, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;* depends on the function called&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;math:INVALID_ARGUMENT if $function_num is not a value between 1 .. 11 or 101 .. 111&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">sumproduct</string>
<string key="qname">math:sumproduct</string>
<string key="signature">($array1 as double*, $array2 as double*) as double</string>
<string key="description"> Multiplies the elements on the same position in each sequence
and sums up the results.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Multiplies the elements on the same position in each sequence
and sums up the results.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">array1</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequences of numbers&lt;/div&gt;</string>
</map>
<map>
<string key="name">array2</string>
<string key="type">double</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequences of numbers&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the sum of products</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">sumsq</string>
<string key="qname">math:sumsq</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Returns the sum of the squares of the arguments.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
It uses the sumproduct function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Returns the sum of the squares of the arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of one or more numbers&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the sum of squared values, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">tanh</string>
<string key="qname">math:tanh</string>
<string key="signature">($arg as double) as double external</string>
<string key="description"> Calculate the hyperbolic tangent.
</string>
<string key="summary">&lt;p&gt; Calculate the hyperbolic tangent.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the arg&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">the result of tanh(arg)</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">trunc</string>
<string key="qname">math:trunc</string>
<string key="signature">($number as double) as integer</string>
<string key="description"> Truncates a number to an integer by removing the fractional part of the number.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Truncates a number to an integer by removing the fractional part of the number.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The argument .&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer</string>
<string key="description">The integer value.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">trunc</string>
<string key="qname">math:trunc</string>
<string key="signature">($number as double, $precision as integer) as double</string>
<string key="description"> Truncates a number down to precision.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
This behaves exactly like rounddown.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Truncates a number down to precision.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">number</string>
<string key="type">double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The argument castable to numeric type.&lt;/div&gt;</string>
</map>
<map>
<string key="name">precision</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of decimal places to keep .&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The integer value.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">var</string>
<string key="qname">math:var</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Estimates variance based on a sample.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / (n - 1).
average_x is computed with AVERAGE function.
n is the count of numbers from the sequence, excluding empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Estimates variance based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">vara</string>
<string key="qname">math:vara</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Estimates variance based on a sample.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / (n - 1).
average_x is computed with AVERAGE function.
n is the size of sequence, including empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Estimates variance based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">varp</string>
<string key="qname">math:varp</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Calculates variance based on the entire population.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / n.
average_x is computed with AVERAGE function.
n is the count of numbers from the sequence, excluding empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.&lt;br xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Calculates variance based on the entire population.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">varpa</string>
<string key="qname">math:varpa</string>
<string key="signature">($numbers as double+) as double</string>
<string key="description"> Calculates variance based on the entire population.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / n.
average_x is computed with AVERAGE function.
n is the size of sequence, including empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
Borrowed from excel module.
</string>
<string key="summary">&lt;p&gt; Calculates variance based on the entire population.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">double</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">double</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://www.zorba-xquery.com/modules/oauth/error">
<string key="ns">http://www.zorba-xquery.com/modules/oauth/error</string>
<string key="description"> Module that defines the errors raised in Oauth modules.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Stephanie Russell&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://www.zorba-xquery.com/modules/oauth/error</string>
<string key="prefix">oerr</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions"/>
<array key="variables">
<map>
<string key="name">oerr:errNS</string>
<string key="type">xs:string</string>
<string key="description"> Errors namespace URI.
</string>
</map>
<map>
<string key="name">oerr:OC001</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.zorba-xquery.com/modules/oauth/errors" and local name 'OC001'. This signing method is not implemented yet.
</string>
</map>
<map>
<string key="name">oerr:OC002</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.zorba-xquery.com/modules/oauth/errors" and local name 'OC002'. This signing method is not supported.
</string>
</map>
<map>
<string key="name">oerr:OC003</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.zorba-xquery.com/modules/oauth/errors" and local name 'OC003'. Http 401 error.
</string>
</map>
<map>
<string key="name">oerr:OC004</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.zorba-xquery.com/modules/oauth/errors" and local name 'OC004'. Http 500 error.
</string>
</map>
<map>
<string key="name">oerr:OC005</string>
<string key="type">xs:QName</string>
<string key="description"> xs:QName with namespace URI="http://www.zorba-xquery.com/modules/oauth/errors" and local name 'OC004'. Http 500 error.
</string>
</map>
</array>
</map>
<map key="http://jsoniq.org/functions">
<string key="ns">http://jsoniq.org/functions</string>
<string key="description"> This module contains all of the functions defined by the JSONiq
specification (see http://jsoniq.org/).
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The module is always imported so you do not need to import it explicitly.
Also, you do not need to fully qualify a function to invoke it.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Markos Zaharioudakis, Matthias Brantner, Ghislain Fourny&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://www.w3.org/2005/xqt-errors</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://jsoniq.org/errors</string>
<string key="prefix">jerr</string>
</map>
<map>
<string key="uri">http://jsoniq.org/functions</string>
<string key="prefix">jn</string>
</map>
<map>
<string key="uri">http://jsoniq.org/types</string>
<string key="prefix">js</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/schema</string>
<string key="prefix">schema</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">decode-from-roundtrip</string>
<string key="qname">jn:decode-from-roundtrip</string>
<string key="signature">($items as item()*) as item()* external</string>
<string key="description"> This function decodes non-JSON types previously encoded with
jn:encode-for-roundtrip.
Calling this version of the function is equivalent to calling the
2 argument version of the function with the second argument
{ "prefix" : "Q{http://jsoniq.org/roundtrip}" }
</string>
<string key="summary">&lt;p&gt; This function decodes non-JSON types previously encoded with
jn:encode-for-roundtrip.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the items to be decoded.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the decoded items.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">decode-from-roundtrip</string>
<string key="qname">jn:decode-from-roundtrip</string>
<string key="signature">($items as item()*, $options as object()) as item()* external</string>
<string key="description"> This function decodes non-JSON types previously encoded with
jn:encode-for-roundtrip.
The $options parameter contains options for the decoding process.
Currently the only supported option is "prefix". It specifies the prefix
that determines if this function decodes an item.
Example:
jn:decode-from-roundtrip(
{ "nan" : { "pre-type" : "double", "pre-value" : "NaN" } },
{ "prefix" : "pre-" }
)
returns the same instance that would be constructed by
{ "nan" : double("NaN") }
So
let $decoded := jn:decode-from-roundtrip(
{ "nan" : { "pre-type" : "double", "pre-value" : "NaN" } },
{ "prefix" : "pre-" }
)
let $nan := $decoded("nan")
return
($nan instance of double, $nan)
returns
true NaN
</string>
<string key="summary">&lt;p&gt; This function decodes non-JSON types previously encoded with
jn:encode-for-roundtrip.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the items to be decoded.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the decoding options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the decoded items.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jerr:JNTY0023 if $options("prefix") is not a string&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">encode-for-roundtrip</string>
<string key="qname">jn:encode-for-roundtrip</string>
<string key="signature">($items as item()*) as item()* external</string>
<string key="description"> This function recursively encodes non-JSON types in such a way that they
can be serialized as JSON while keeping roundtrip capability.
</string>
<string key="summary">&lt;p&gt; This function recursively encodes non-JSON types in such a way that they
can be serialized as JSON while keeping roundtrip capability.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the items to be encoded.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the encoded items.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">encode-for-roundtrip</string>
<string key="qname">jn:encode-for-roundtrip</string>
<string key="signature">($items as item()*, $options as object()) as item()* external</string>
<string key="description"> This function recursively encodes non-JSON types in such a way that they
can be serialized as JSON while keeping roundtrip capability.
Example:
jn:encode-for-roundtrip(
{ "nan" : double("NaN") },
{ "prefix" : "pre-" }
)
returns
{ "nan" : { "pre-type" : "double", "pre-value" : "NaN" } }
</string>
<string key="summary">&lt;p&gt; This function recursively encodes non-JSON types in such a way that they
can be serialized as JSON while keeping roundtrip capability.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the items to be encoded.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the encoding options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the encoded items.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jerr:JNTY0023 if $options("prefix") is not a string&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">flatten</string>
<string key="qname">jn:flatten</string>
<string key="signature">($items as item()*) as item()* external</string>
<string key="description"> For each item in the given sequence, this function returns the item itself,
if it is not an array, or a sequence of items "flattened-out" from the array.
Flattening an array means replacing the array with its members, and recursively
flattening any arrays in the members sequence.
Note: The function is equivalent to
define function jn:flatten($args as item()*)
{
for $arg in args
return
if ($arg instance of array())
then
for $value in $arg[]
return
if ($value instance of array())
then jn:flatten($value[])
else $value
else
$arg
};
</string>
<string key="summary">&lt;p&gt; For each item in the given sequence, this function returns the item itself,
if it is not an array, or a sequence of items "flattened-out" from the array.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The flattened-out items of the arrays in $items.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">keys</string>
<string key="qname">jn:keys</string>
<string key="signature">($o as item()*) as string* external</string>
<string key="description"> Returns the set of keys belonging to the objects found inside a given
sequence of items. The keys are returned in an implementation-defined
order. Duplicate keys are eliminated.
</string>
<string key="summary">&lt;p&gt; Returns the set of keys belonging to the objects found inside a given
sequence of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">o</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items. Only object items are actually processed; items of any other kind are simply skipped.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string*</string>
<string key="description">The distinct keys of the objects in the input sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">members</string>
<string key="qname">jn:members</string>
<string key="signature">($a as item()*) as item()* external</string>
<string key="description"> Returns the items belonging to the arrays found inside a given sequence
of items. The items are returned in an implementation-defined order.
</string>
<string key="summary">&lt;p&gt; Returns the items belonging to the arrays found inside a given sequence
of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">a</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items. Only array items are actually processed; items of any other kind are simply skipped.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The members of the arrays in the input sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">null</string>
<string key="qname">jn:null</string>
<string key="signature">() as js:null external</string>
<string key="description"> Returns the JSON null.
</string>
<string key="summary">&lt;p&gt; Returns the JSON null.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">js:null</string>
<string key="description">The JSON null.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">parse-json</string>
<string key="qname">jn:parse-json</string>
<string key="signature">($j as string?) as json-item()* external</string>
<string key="description"> This function parses a given string as JSON and returns a sequence
of Objects or Arrays.
Please note that this function allows to parse sequences of whitespace
separated objects and arrays.
</string>
<string key="summary">&lt;p&gt; This function parses a given string as JSON and returns a sequence
of Objects or Arrays.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">j</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A string containing a valid JSON text.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">json-item()*</string>
<string key="description">A sequence of JSON Object or Array item.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jerr:JNDY0021 if the given string is not valid JSON.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">parse-json</string>
<string key="qname">jn:parse-json</string>
<string key="signature">($j as string?, $o as object()) as json-item()* external</string>
<string key="description"> This function parses a given string as JSON and returns a sequence
of Objects or Arrays.
</string>
<string key="summary">&lt;p&gt; This function parses a given string as JSON and returns a sequence
of Objects or Arrays.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">j</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A string containing a valid JSON text.&lt;/div&gt;</string>
</map>
<map>
<string key="name">o</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A JSON object defining options to configure the parser. Allowed options are &lt;ul&gt; &lt;li&gt;jsoniq-multiple-top-level-items: allow parsing of sequences of JSON Objects and Arrays (boolean; default: true)&lt;/li&gt; &lt;li&gt;jsoniq-strip-top-level-array: if the top-level JSON item is an array, strip it and return its elements as multiple top-level items (boolean; default: false)&lt;/li&gt; &lt;/ul&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">json-item()*</string>
<string key="description">a sequence of JSON Object or Array item.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jerr:JNDY0021 if the given string is not valid JSON or if jsoniq-multiple-top-level-items is false and there is additional content after the first JSON Object or Array.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;jerr:JNTY0020 if the value for the option jsoniq-multiple-top-level-items is not of type boolean.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">project</string>
<string key="qname">jn:project</string>
<string key="signature">($items as item()*, $keys as string*) as item()* external</string>
<string key="description"> For each item in the given sequence, this function returns the item itself,
if it is not an object, or its "projected" copy if it is an object. Projecting
an object by a set of keys means creating a new object from the specified pairs
of the source object. Specifically, for each key in $keys, if the object has a
pair with that key, then a copy of that pair is included in the new object.
</string>
<string key="summary">&lt;p&gt; For each item in the given sequence, this function returns the item itself,
if it is not an object, or its "projected" copy if it is an object.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
<map>
<string key="name">keys</string>
<string key="type">string</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The keys of the pairs to include from each object in $items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The projection of the original sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">size</string>
<string key="qname">jn:size</string>
<string key="signature">($a as array()?) as integer? external</string>
<string key="description"> Returns the size of a JSON array, or the empty sequence if no array is given.
The size of an Array is the number of members contained within it.
</string>
<string key="summary">&lt;p&gt; Returns the size of a JSON array, or the empty sequence if no array is given.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">a</string>
<string key="type">array()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;rray A JSON array.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">integer?</string>
<string key="description">The number of items in $array, or the empty sequence if $array is empty.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">trim</string>
<string key="qname">jn:trim</string>
<string key="signature">($items as item()*, $keys as string*) as item()* external</string>
<string key="description"> For each item in the given sequence, this function returns the item itself,
if it is not an object, or its "trimmed" copy, if it is an object. Trimming
an object by a set of keys means creating a new object containing all the
pairs of the source object except the ones whose key appears in the given
set of keys.
</string>
<string key="summary">&lt;p&gt; For each item in the given sequence, this function returns the item itself,
if it is not an object, or its "trimmed" copy, if it is an object.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
<map>
<string key="name">keys</string>
<string key="type">string</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The keys of the pairs to exclude from each object in $items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The trimmed version of the input sequence.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/xqdoc">
<string key="ns">http://zorba.io/modules/xqdoc</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
The goal of xqDoc is to provide a simple vendor neutral solution for
documenting XQuery modules, as well as tools to generate a user friendly
presentation of this documentation and cross referencing information.
Therefore, xqDoc proposes a new commenting convention that extends the
currently defined XQuery comment style. This convention is modeled
after Java's Javadoc commenting style, and provides a simple, uniform
way to document XQuery source code. You can find more information about
xqDoc on the website of the &lt;a href="http://xqdoc.org/"&gt;xqDoc project&lt;/a&gt;.
This library module provides XQDoc utility functions.
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
Generating a user friendly presentation of the documentation is
accomplished in the following steps:
&lt;ol&gt;
&lt;li&gt;Module, variable, function, collection, and index declarations need
to be commented using the xqDoc commenting conventions. For example,
this module contains xqDoc-style comments&lt;/li&gt;
&lt;li&gt;A xqDoc-enabled processor can parse such documentation and generate
a vendor neutral XML document which stores all the information about
the code and the comments. Such a document adheres to the xqDoc
Schema.&lt;/li&gt;
&lt;li&gt;The information of an XML document generated by the second step,
can be transformed into arbitrary presentation formats
(e.g. html).&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
This module implements the first and second step of this process.
That is, Zorba can parse XQuery modules which are annotated with
xqDoc-style documentation and generate the vendor neutral
XML representation.
&lt;/p&gt;
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://xqdoc.org/" target="_blank"&gt;xqDoc specification&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://www.zorba-xquery.com/tutorials/xqdoc.html" target="_blank"&gt;xqDoc tutorial with Zorba&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Gabriel Petrovay&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://www.w3.org/2005/xqt-errors</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/fetch</string>
<string key="prefix">fetch</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/xqdoc-options</string>
<string key="prefix">opt</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/schema</string>
<string key="prefix">schema</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/xqdoc</string>
<string key="prefix">xqd</string>
</map>
<map>
<string key="uri">http://zorba.io/errors</string>
<string key="prefix">zerr</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">xqdoc-content</string>
<string key="qname">xqd:xqdoc-content</string>
<string key="signature">($module as xs:string) as element(*)</string>
<string key="description"> Generated the an XQDoc XML document for the module provided
as parameter to this function.
</string>
<string key="summary">&lt;p&gt; Generated the an XQDoc XML document for the module provided
as parameter to this function.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">module</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The module (as string) for which to generate the XQDoc documentation.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">element(*)</string>
<string key="description">An element according to the xqdoc schema (&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/xqdoc.xsd&lt;/tt&gt;).</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr::ZXQD0002 if the xqdoc comments in the module contain invalid XML&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">xqdoc-content</string>
<string key="qname">xqd:xqdoc-content</string>
<string key="signature">($module as xs:string, $options as element(opt:enable)) as element(*)</string>
<string key="description"> Generated the an XQDoc XML document for the module provided
as parameter to this function.
In comparison to the single parameter version, this function does not
generate XQDoc for all language components. By default, the
following components are deactivated: XQuery comments, import
statements, variable declarations, function declarations, collection
declarations, and index declarations. The second parameter is used to
enable the XQDoc generation of those components.
</string>
<string key="summary">&lt;p&gt; Generated the an XQDoc XML document for the module provided
as parameter to this function.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">module</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The module (as string) for which to generate the XQDoc documentation.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">element(opt:enable)</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; XQDoc generation options, e.g.: &lt;pre&gt; &amp;lt;enable xmlns="http://zorba.io/modules/xqdoc-options" comments="true" functions="true" indexes="true" &amp;gt; &lt;/pre&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">element(*)</string>
<string key="description">An element according to the xqdoc schema (&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/xqdoc.xsd&lt;/tt&gt;).</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr::ZXQD0002 if the xqdoc comments in the module contain invalid XML&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">xqdoc</string>
<string key="qname">xqd:xqdoc</string>
<string key="signature">($module-uri as xs:string) as element(*)</string>
<string key="description"> Generates an XQDoc XML document for the module located
at the URI provided as parameter to this function.
</string>
<string key="summary">&lt;p&gt; Generates an XQDoc XML document for the module located
at the URI provided as parameter to this function.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">module-uri</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The URL of the module for which to generate XQDoc.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">element(*)</string>
<string key="description">An element according to the xqdoc schema (&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/xqdoc.xsd&lt;/tt&gt;).</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr::ZXQD0002 if the xqdoc comments in the module contain invalid XML&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">xqdoc</string>
<string key="qname">xqd:xqdoc</string>
<string key="signature">($module-uri as xs:string, $options as element(opt:enable)) as element(*)</string>
<string key="description"> Generates an XQDoc XML document for the module located
at the URI provided as parameter to this function.
In comparison to the single parameter version, this function does not
generate XQDoc for all language components. By default, the
following components are deactivated: XQuery comments, import
statements, variable declarations, function declarations, collection
declarations, and index declarations. The second parameter is used to
enable the XQDoc generation of those components.
</string>
<string key="summary">&lt;p&gt; Generates an XQDoc XML document for the module located
at the URI provided as parameter to this function.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">module-uri</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The URL of the module for which to generate XQDoc.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">element(opt:enable)</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; XQDoc generation options, e.g.: &lt;pre&gt; &amp;lt;enable xmlns="http://zorba.io/modules/xqdoc-options" comments="true" functions="true" indexes="true" /&amp;gt; &lt;/pre&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">element(*)</string>
<string key="description">An element according to the xqdoc schema (&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/xqdoc.xsd&lt;/tt&gt;).</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr::ZXQD0002 if the xqdoc comments in the module contain invalid XML&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/data-cleaning/character-based-string-similarity">
<string key="ns">http://zorba.io/modules/data-cleaning/character-based-string-similarity</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This library module provides character-based string similarity functions
that view strings as sequences of characters, generally computing a similarity score
that corresponds to the cost of transforming one string into another.
These functions are particularly useful for matching near duplicate strings
in the presence of typographical errors. &lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The logic contained in this module is not specific to any particular XQuery implementation.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Bruno Martins and Diogo Simões&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/data-cleaning/character-based-string-similarity</string>
<string key="prefix">simc</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">edit-distance</string>
<string key="qname">simc:edit-distance</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string) as xs:integer</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the edit distance between two strings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This distance, also refered to as the Levenshtein distance, is defined as the minimum number
of edits needed to transform one string into the other, with the allowable edit operations
being insertion, deletion, or substitution of a single character.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;edit-distance("FLWOR", "FLOWER")&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;2&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the edit distance between two strings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">The edit distance between the two strings.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">jaro-winkler</string>
<string key="qname">simc:jaro-winkler</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string, $prefix as xs:integer, $fact as xs:double) as xs:double</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Jaro-Winkler similarity coefficient between two strings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This similarity coefficient corresponds to an extension of the Jaro similarity coefficient that weights or
penalizes strings based on their similarity at the beginning of the string, up to a given prefix size.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;jaro-winkler("DWAYNE", "DUANE", 4, 0.1 )&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;0.8577777777777778&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Jaro-Winkler similarity coefficient between two strings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">prefix</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of characters to consider when testing for equal prefixes in the strings.&lt;/div&gt;</string>
</map>
<map>
<string key="name">fact</string>
<string key="type">xs:double</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The weighting factor to consider when the input strings have equal prefixes.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:double</string>
<string key="description">The Jaro-Winkler similarity coefficient between the two strings.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">jaro</string>
<string key="qname">simc:jaro</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string) as xs:double</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Jaro similarity coefficient between two strings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This similarity coefficient is based on the number of transposed characters and on a
weighted sum of the percentage of matched characters held within the strings. The higher
the Jaro-Winkler value is, the more similar the strings are. The coefficient is
normalized such that 0 equates to no similarity and 1 is an exact match.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;jaro("FLWOR Found.", "FLWOR Foundation")&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;0.5853174603174603&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Jaro similarity coefficient between two strings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:double</string>
<string key="description">The Jaro similarity coefficient between the two strings.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">needleman-wunsch</string>
<string key="qname">simc:needleman-wunsch</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string, $score as xs:integer, $penalty as xs:integer) as xs:double</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Needleman-Wunsch distance between two strings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The Needleman-Wunsch distance is similar to the basic edit distance metric, adding a
variable cost adjustment to the cost of a gap (i.e., an insertion or deletion) in the
distance metric.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;needleman-wunsch("KAK", "KQRK", 1, 1)&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;0&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Needleman-Wunsch distance between two strings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">score</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The score value.&lt;/div&gt;</string>
</map>
<map>
<string key="name">penalty</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The penalty value.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:double</string>
<string key="description">The Needleman-Wunsch distance between the two strings.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">smith-waterman</string>
<string key="qname">simc:smith-waterman</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string, $score as xs:integer, $penalty as xs:integer) as xs:double</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Smith-Waterman distance between two strings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;smith-waterman("ACACACTA", "AGCACACA", 2, 1)&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;12&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Smith-Waterman distance between two strings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">score</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The score value.&lt;/div&gt;</string>
</map>
<map>
<string key="name">penalty</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The penalty value.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:double</string>
<string key="description">The Smith-Waterman distance between the two strings.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://expath.org/ns/error">
<string key="ns">http://expath.org/ns/error</string>
<string key="description"> This module defines all errors for the http-client module.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Markus Pilman&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://expath.org/ns/error</string>
<string key="prefix">err</string>
</map>
</array>
<array key="functions"/>
<array key="variables">
<map>
<string key="name">err:errNS</string>
<string key="type">xs:string</string>
<string key="description"> Error namespace URI.
</string>
</map>
<map>
<string key="name">err:HC001</string>
<string key="type">xs:QName</string>
<string key="description"> An HTTP error occurred.
</string>
</map>
<map>
<string key="name">err:HC002</string>
<string key="type">xs:QName</string>
<string key="description"> Error parsing the entity content as XML or HTML.
</string>
</map>
<map>
<string key="name">err:HC003</string>
<string key="type">xs:QName</string>
<string key="description"> With a multipart response, the override-media-type must be either a multipart media type or application/octet-stream.
</string>
</map>
<map>
<string key="name">err:HC004</string>
<string key="type">xs:QName</string>
<string key="description"> The src attribute on the body element is mutually exclusive with all other attribute (except the media-type).
</string>
</map>
<map>
<string key="name">err:HC005</string>
<string key="type">xs:QName</string>
<string key="description"> The request element is not valid.
</string>
</map>
<map>
<string key="name">err:HC006</string>
<string key="type">xs:QName</string>
<string key="description"> A timeout occurred waiting for the response.
</string>
</map>
<map>
<string key="name">err:HCV01</string>
<string key="type">xs:QName</string>
<string key="description"> This error is not defined in the specification but used by the Zorba implementation.
It gets thrown when the user gives wrong arguments which are statically correct,
but make no sense (for example: http:send-request((), ())).
</string>
</map>
<map>
<string key="name">err:HCV02</string>
<string key="type">xs:QName</string>
<string key="description"> Zorba specific error
This error is raised if trying to follow a redirect for a POST, PUT, or
DELETE request
</string>
</map>
</array>
</map>
<map key="http://www.28msec.com/modules/s3">
<string key="ns">http://www.28msec.com/modules/s3</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides functionality for managing S3 buckets and object.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;It is not possible to access buckets whose names are not DNS-compliant. For
instance a bucket name which contains uppercase letters or is longer than 63
characters is not DNS-compliant. For additional details on bucket naming
conventions refer to
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html"&gt;
Bucket Restrictions and Limitations&lt;/a&gt;.&lt;/p&gt;
&lt;h2 xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Authentication&lt;/h2&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;For each functionality two methods are provided:
&lt;ul&gt;
&lt;li&gt;one which allows to specify the credentials to use, by means of the
optional $credentials parameter (named). If the parameter is not specified,
the default credentials in the "S3" category will be used. If the parameter
is specified it must be either a string or an object. If it is a string it
will be interpreted as the name of a credentials in the "S3" category. If
it is an object it must have the following structure:
&lt;ul&gt;
&lt;li&gt;accessKey: the AWS access key to use (string, mandatory).&lt;/li&gt;
&lt;li&gt;secretKey: the AWS secret key to use (string, mandatory).&lt;/li&gt;
&lt;li&gt;useHttps: whether to use secure HTTPS connections or not.
(boolean, optional). The default is &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;defaultBucket: the default bucket name (string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;one which does not allow to specify which credentials to use.
In this case the default credentials in the "S3" category will be used.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;h2 xmlns:xqdoc="http://www.xqdoc.org/1.0" id="determinism"&gt;Important Notice Regarding Function Determinism&lt;/h2&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The non side-effecting functions:
&lt;ul&gt;
&lt;li&gt;&lt;a href="?anchor=list-buckets-0"&gt;list-buckets#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-buckets-1"&gt;list-buckets#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-0"&gt;list-bucket#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-1"&gt;list-bucket#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-2"&gt;list-bucket#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-3"&gt;list-bucket#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-0"&gt;list-bucket-versions#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-1"&gt;list-bucket-versions#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-2"&gt;list-bucket-versions#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-3"&gt;list-bucket-versions#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-text-1"&gt;read-text#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-text-2"&gt;read-text#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-binary-1"&gt;read-binary#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-binary-2"&gt;read-binary#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-object-1"&gt;read-object#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-object-2"&gt;read-object#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-metadata-1"&gt;object-metadata#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-metadata-2"&gt;object-metadata#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-torrent-1"&gt;object-torrent#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-torrent-2"&gt;object-torrent#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-permissions-1"&gt;object-permissions#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-permissions-2"&gt;object-permissions#2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
are declared deterministic, which means that their results could be cached
when invoked multiple times with the same arguments in the same query execution.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;To not use cached results you can use the following alternative functions:
&lt;ul&gt;
&lt;li&gt;&lt;a href="?anchor=list-buckets-nondeterministic-0"&gt;list-buckets-nondeterministic#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-buckets-nondeterministic-1"&gt;list-buckets-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-nondeterministic-0"&gt;list-bucket-nondeterministic#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-nondeterministic-1"&gt;list-bucket-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-nondeterministic-2"&gt;list-bucket-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-nondeterministic-3"&gt;list-bucket-nondeterministic#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-nondeterministic-0"&gt;list-bucket-versions-nondeterministic#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-nondeterministic-1"&gt;list-bucket-versions-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-nondeterministic-2"&gt;list-bucket-versions-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=list-bucket-versions-nondeterministic-3"&gt;list-bucket-versions-nondeterministic#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-text-nondeterministic-1"&gt;read-text-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-text-nondeterministic-2"&gt;read-text-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-binary-nondeterministic-1"&gt;read-binary-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-binary-nondeterministic-2"&gt;read-binary-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-object-nondeterministic-1"&gt;read-object-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=read-object-nondeterministic-2"&gt;read-object-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-metadata-nondeterministic-1"&gt;object-metadata-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-metadata-nondeterministic-2"&gt;object-metadata-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-torrent-nondeterministic-1"&gt;object-torrent-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-torrent-nondeterministic-2"&gt;object-torrent-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-permissions-nondeterministic-1"&gt;object-permissions-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=object-permissions-nondeterministic-2"&gt;object-permissions-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
which have been declared as being non deterministic.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Alexander Kreutz&lt;/xqdoc:author&gt;</string>
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Federico Cavalieri&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/credentials</string>
<string key="prefix">credentials</string>
</map>
<map>
<string key="uri">http://www.w3.org/2005/xqt-errors</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/cryptography/hmac</string>
<string key="prefix">hmac</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/http-client</string>
<string key="prefix">http</string>
</map>
<map>
<string key="uri">http://jsoniq.org/errors</string>
<string key="prefix">jerr</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/s3</string>
<string key="prefix">s3</string>
</map>
<map>
<string key="uri">http://s3.amazonaws.com/doc/2006-03-01/</string>
<string key="prefix">s3s</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/sleep</string>
<string key="prefix">sleep</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">copy-object</string>
<string key="qname">s3:copy-object</string>
<string key="signature">($s3-object-source as item(), $s3-object-target as item()) as item()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Copies an object already stored on s3 into a target bucket using the
default credentials. If the target object already exists it will be overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The source object metadata is copied to the target object, unless new
metadata is specified. In this case the target object will possess only the
specified metadata.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Unless the permissions for the target are specified, the target object will
have the "private" ACL, that is, the owner gets FULL_CONTROL, and no one else
has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The source S3 object is specified through the $s3-object-source parameter.
Either a string or a JSON object can be used. If a string is specified, it is
interpreted as key for an object in the default bucket of the default
credentials. If no default bucket is present in the default credentials, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised. If a JSON object is used, it must have
the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be copied. If specified, only that particular version of the
object will be copied.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The target S3 object is specified through the $s3-object-target parameter.
Either a string or a JSON object can be used. If a string is specified and the
default credentials contain a default bucket, the object will be copied in
the credentials default bucket. Otherwise, the object will be copied in the
source object bucket. If a JSON object is used, it must have the following
structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials contain a default bucket, the object will be
copied in the credentials default bucket. Otherwise, the object will be
copied in the source object bucket.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).
If not specified, the source object metadata will be copied to the target
object. Otherwise the target object metadata will be the specified one.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $s3-object-source :=
{
"key" : "test.xml",
"bucket": "28msec"
}
let $s3-object-target :=
{
"key" : "test-copy.xml",
"bucket": "28msec",
"permisstion": $s3:ACL-GRANT-PUBLIC-READ
"metadata":
{
"author": "28msec"
}
}
return s3:copy-object($s3-object-source, $s3-object-target)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"sourceVersion": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo",
"version": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"lastModified": "2009-10-28T22:32:00",
"eTag": "\"9b2cf535f27731c974343645a3985328\"",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;sourceVersion: the version of the copied object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When the soruce object is copied in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the copied object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When the soruce object is copied in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;lastModified: the last modification date of the target object. (dateTime, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the copeid object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;li&gt;expiration: if the object expiration is configured (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html"&gt;PUT Bucket lifecycle&lt;/a&gt;),
this field is present. It includes the expiry-date and rule-id key value
pairs providing object expiration information. The value of rule-id is URL
encoded.(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Copies an object already stored on s3 into a target bucket using the
default credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object-source</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to copy from.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object-target</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to write to.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">the S3 copy result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">copy-object</string>
<string key="qname">s3:copy-object</string>
<string key="signature">($credentials as item()?, $s3-object-source as item(), $s3-object-target as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Copies an object already stored on S3 into a target bucket using the
specified credentials. If the target object already exists it will be overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The source object metadata is copied to the target object, unless new
metadata is specified. In this case the target object will possess only the
specified metadata.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Unless the permissions for the target are specified, the target object will
have the "private" ACL, that is, the owner gets FULL_CONTROL, and no one else
has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The source S3 object is specified through the $s3-object-source parameter.
Either a string or a JSON object can be used. If a string is specified, it is
interpreted as key for an object in the default bucket of the specified
credentials. If no default bucket is present in the specified credentials, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised. If a JSON object is used, it must have
the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be copied. If specified, only that particular version of the
object will be copied.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The target S3 object is specified through the $s3-object-target parameter.
Either a string or a JSON object can be used. If a string is specified and the
specified credentials contain a default bucket, the object will be copied in
the credentials default bucket. Otherwise, the object will be copied in the
source object bucket. If a JSON object is used, it must have the following
structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials contain a default bucket, the object will be
copied in the credentials default bucket. Otherwise, the object will be
copied in the source object bucket.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).
If not specified, the source object metadata will be copied to the target
object. Otherwise the target object metadata will be the specified one.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $s3-object-source :=
{
"key" : "test.xml",
"bucket": "28msec"
}
let $s3-object-target :=
{
"key" : "test-copy.xml",
"bucket": "28msec",
"permisstion": $s3:ACL-GRANT-PUBLIC-READ
"metadata":
{
"author": "28msec"
}
}
return s3:copy-object("credentials", $s3-object-source, $s3-object-target)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"sourceVersion": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo",
"version": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"lastModified": "2009-10-28T22:32:00",
"eTag": "\"9b2cf535f27731c974343645a3985328\"",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;sourceVersion: the version of the copied object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When the soruce object is copied in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the copied object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When the soruce object is copied in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;lastModified: the last modification date of the target object. (dateTime, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the copeid object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Copies an object already stored on S3 into a target bucket using the
specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object-source</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to copy from.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object-target</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to write to.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 copy result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">create-bucket</string>
<string key="qname">s3:create-bucket</string>
<string key="signature">($bucket as string) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Creates a bucket using the default S3 credentials. The bucket owner will
be the account of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The bucket is created with the S3 default bucket settings. Specifically,
it is created in the US Standard region and the default credentials
account becomes its owner. The bucket ACL permissions are set to "private",
that is, the owner gets FULL_CONTROL, whereas no one else has access rights.
The bucket name must comply with the following rules:
&lt;ul&gt;
&lt;li&gt;bucket names must be no more than 255 characters long.&lt;/li&gt;
&lt;li&gt;bucket names must be a combination of uppercase letters, lowercase letters,
numbers, periods (.), dashes (-) and underscores (_).&lt;/li&gt;
&lt;/ul&gt;
For more details, refer to the
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html"&gt;
Amazon S3 Bucket Restrictions&lt;/a&gt; page.
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the specified bucket already exists in the US Standard region and has
the same owner, its permissions settings are reset and its contents are
preserved. Otherwise, if the specified bucket already exists an s3:REQUEST
error is raised.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:create-bucket("28msec");
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Creates a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket name.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">create-bucket</string>
<string key="qname">s3:create-bucket</string>
<string key="signature">($credentials as item()?, $bucket as string) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Creates a bucket using the specified S3 credentials. The bucket owner will
be the account of the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The bucket is created with the S3 default bucket settings. Specifically,
it is created in the US Standard region and the specified credentials
account becomes its owner. The bucket ACL permissions are set to "private",
that is, the owner gets FULL_CONTROL, whereas no one else has access rights.
The bucket name must comply with the following rules:
&lt;ul&gt;
&lt;li&gt;bucket names must be no more than 255 characters long.&lt;/li&gt;
&lt;li&gt;bucket names must be a combination of uppercase letters, lowercase letters,
numbers, periods (.), dashes (-) and underscores (_).&lt;/li&gt;
&lt;/ul&gt;
For more details, refer to the
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html"&gt;
Amazon S3 Bucket Restrictions&lt;/a&gt; page.
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the specified bucket already exists in the US Standard region and has
the same owner, its permissions settings are reset and its contents are
preserved. Otherwise, if the specified bucket already exists an s3:REQUEST
error is raised.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Creates a bucket using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket name.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">delete-bucket</string>
<string key="qname">s3:delete-bucket</string>
<string key="signature">($bucket as string) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Deletes a bucket using the default S3 credentials. The bucket must be owned
by the account of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This operation will fail if the deleted bucket is not empty. All objects,
object versions, and delete markers have to be deleted beforehand using this
function.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:delete-bucket("28msec");
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Deletes a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket name.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">delete-bucket</string>
<string key="qname">s3:delete-bucket</string>
<string key="signature">($credentials as item()?, $bucket as string) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Deletes a bucket using the specified S3 credentials. The bucket must be owned
by the account of the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This operation will fail if the deleted bucket is not empty. All objects,
object versions, and delete markers have to be deleted beforehand using this
function.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:delete-bucket("credentials", "28msec");
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Deletes a bucket using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket name.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">delete-object</string>
<string key="qname">s3:delete-object</string>
<string key="signature">($s3-object as item()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Deletes an object or a specific object version from a bucket using the
default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If not specified, the
null version of the object is removed, if there is one. To remove a specific
version, this field must be specified.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the bucket is versioned a delete marker is inserted for the object. If
mfa-deletion is enabled you will not be able to delete an object through
this method. If the specified bucket exists, and the specified object does not
exist no errors will be raised.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:delete-object(
{
"key": "test.xml",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
});
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Deletes an object or a specific object version from a bucket using the
default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to delete.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">delete-object</string>
<string key="qname">s3:delete-object</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Deletes an object or a specific object version from a bucket using the
specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If not specified, the
null version of the object is removed, if there is one. To remove a specific
version, this field must be specified.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the bucket is versioned a delete marker is inserted for the object. If
mfa-deletion is enabled you will not be able to delete an object through
this method. If the specified bucket exists, and the specified object does not
exist no errors will be raised.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:delete-object("credentials",
{
"key": "test.xml",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
});
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Deletes an object or a specific object version from a bucket using the
specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to delete.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-bucket-nondeterministic</string>
<string key="qname">s3:list-bucket-nondeterministic</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in the default bucket of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-0"&gt;list-bucket#0&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in the default bucket of the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of objects in the default bucket of the default S3 credentials</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no default bucket is present in the default S3 credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-bucket-nondeterministic</string>
<string key="qname">s3:list-bucket-nondeterministic</string>
<string key="signature">($bucket as string?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-1"&gt;list-bucket#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default S3 credentials will be listed.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the objects in the specified bucket.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">list-bucket-nondeterministic</string>
<string key="qname">s3:list-bucket-nondeterministic</string>
<string key="signature">($bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the default S3 credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-2"&gt;list-bucket#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default S3 credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the default credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">list-bucket-nondeterministic</string>
<string key="qname">s3:list-bucket-nondeterministic</string>
<string key="signature">($credentials as item()?, $bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the specified credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-3"&gt;list-bucket#3&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the specified credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-bucket-versions-nondeterministic</string>
<string key="qname">s3:list-bucket-versions-nondeterministic</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in the default bucket of the default S3
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-versions-0"&gt;list-bucket-versions#0&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in the default bucket of the default S3
credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the default bucket of the default S3 credentials</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no default bucket is present in the default S3 credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-bucket-versions-nondeterministic</string>
<string key="qname">s3:list-bucket-versions-nondeterministic</string>
<string key="signature">($bucket as string?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-versions-1"&gt;list-bucket-versions#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default credentials will be listed.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">list-bucket-versions-nondeterministic</string>
<string key="qname">s3:list-bucket-versions-nondeterministic</string>
<string key="signature">($bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the default S3 credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-versions-2"&gt;list-bucket-versions#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the default credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">list-bucket-versions-nondeterministic</string>
<string key="qname">s3:list-bucket-versions-nondeterministic</string>
<string key="signature">($credentials as item()?, $bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the specified credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-bucket-versions-3"&gt;list-bucket-versions#3&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the specified credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-bucket-versions</string>
<string key="qname">s3:list-bucket-versions</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in the default bucket of the default S3
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-bucket-versions()
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"keyMarker" : "image.jpg",
"versionIdMarker" : "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"nextKeyMarker": "marker",
"nextVersionIdMarker": "UIORUnfndfhnw89493jJFJ",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"revisions":
[
{
"kind": "Version",
"key": "image.jpg",
"versionId": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"isLatest": false,
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
},
{
"kind": "DeleteMarker",
"key": "image.jpg",
"versionId": "03jpff543dhffds434rfdsFDN943fdsFkdmqnh892",
"isLatest": true,
"lastModified": "2009-10-12T17:50:30.000Z",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;keyMarker: indicates from which key in the listing begins
(string, mandatory).&lt;/li&gt;
&lt;li&gt;versionMarker: indicates from which version the listing begins
(string, optional).&lt;/li&gt;
&lt;li&gt;nextKeyMarker: when the number of responses exceeds the value of maxKeys,
nextKeyMarker specifies the first key not returned that satisfies the search
criteria. Use this value for the keyMarker request parameter in a subsequent
request. (string, optional)&lt;/li&gt;
&lt;li&gt;nextVersionMarker: when the number of responses exceeds the value of maxKeys,
nextVersionIdMarker specifies the first object version not returned that
satisfies the search criteria. Use this value for the versionMarker request
parameter in a subsequent request. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;revisions: an array of objects listing the bucket object versions
(array, mandatory). The fields of each contained object have the following
meaning:
&lt;ul&gt;
&lt;li&gt;kind: the revision kind. One of "Version" or "DeleteMarker" (string,
mandatory).&lt;/li&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;versionId: the object version id (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory for "Version" objects, not present for
"DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;size: the object size in bytes (integer, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in the default bucket of the default S3
credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the default bucket of the default S3 credentials</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no default bucket is present in the default S3 credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-bucket-versions</string>
<string key="qname">s3:list-bucket-versions</string>
<string key="signature">($bucket as string?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-bucket-versions("28msec")
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"keyMarker" : "image.jpg",
"versionIdMarker" : "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"nextKeyMarker": "marker",
"nextVersionIdMarker": "UIORUnfndfhnw89493jJFJ",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"revisions":
[
{
"kind": "Version",
"key": "image.jpg",
"versionId": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"isLatest": false,
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
},
{
"kind": "DeleteMarker",
"key": "image.jpg",
"versionId": "03jpff543dhffds434rfdsFDN943fdsFkdmqnh892",
"isLatest": true,
"lastModified": "2009-10-12T17:50:30.000Z",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;keyMarker: indicates from which key in the listing begins
(string, mandatory).&lt;/li&gt;
&lt;li&gt;versionMarker: indicates from which version the listing begins
(string, optional).&lt;/li&gt;
&lt;li&gt;nextKeyMarker: when the number of responses exceeds the value of maxKeys,
nextKeyMarker specifies the first key not returned that satisfies the search
criteria. Use this value for the keyMarker request parameter in a subsequent
request. (string, optional)&lt;/li&gt;
&lt;li&gt;nextVersionMarker: when the number of responses exceeds the value of maxKeys,
nextVersionIdMarker specifies the first object version not returned that
satisfies the search criteria. Use this value for the versionMarker request
parameter in a subsequent request. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;revisions: an array of objects listing the bucket object versions
(array, mandatory). The fields of each contained object have the following
meaning:
&lt;ul&gt;
&lt;li&gt;kind: the revision kind. One of "Version" or "DeleteMarker" (string,
mandatory).&lt;/li&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;versionId: the object version id (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory for "Version" objects, not present for
"DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;size: the object size in bytes (integer, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default credentials will be listed.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">list-bucket-versions</string>
<string key="qname">s3:list-bucket-versions</string>
<string key="signature">($bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the default S3 credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $options :=
{
"delimiter": "/",
"maxKeys": 2,
"keyMarker": "image.jpg",
"versionIdMarker" : "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893"
}
return s3:list-bucket-versions("28msec", $options)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The options object must have the following structure:
&lt;ul&gt;
&lt;li&gt;delimiter: the delimiter marks where the listed results stop. For example,
a delimiter / lists all objects starting with $prefix plus arbitrary
characters but not / (string, optional). Default is the empty string,
that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;keyMarker: specifies a key as starting point; following keys (lexicographically
greater than the marker) in alphabetical order are listed (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;versionMarker: specifies the object version you want starting from;
following revisions (newer than the marker) are listed (string, optional).
By default all versions are listed. Empty string is not allowed.&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned. If more keys than maxKeys
can be fetched, the result contains &lt;IsTruncated&gt;true&lt;/IsTruncated&gt;
(integer, optional). Default is 1000.&lt;/li&gt;
&lt;li&gt;prefix: only keys starting with the prefix are returned (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"keyMarker" : "image.jpg",
"versionIdMarker" : "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"nextKeyMarker": "marker",
"nextVersionIdMarker": "UIORUnfndfhnw89493jJFJ",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"revisions":
[
{
"kind": "Version",
"key": "image.jpg",
"versionId": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"isLatest": false,
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
},
{
"kind": "DeleteMarker",
"key": "image.jpg",
"versionId": "03jpff543dhffds434rfdsFDN943fdsFkdmqnh892",
"isLatest": true,
"lastModified": "2009-10-12T17:50:30.000Z",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;keyMarker: indicates from which key in the listing begins
(string, mandatory).&lt;/li&gt;
&lt;li&gt;versionMarker: indicates from which version the listing begins
(string, optional).&lt;/li&gt;
&lt;li&gt;nextKeyMarker: when the number of responses exceeds the value of maxKeys,
nextKeyMarker specifies the first key not returned that satisfies the search
criteria. Use this value for the keyMarker request parameter in a subsequent
request. (string, optional)&lt;/li&gt;
&lt;li&gt;nextVersionMarker: when the number of responses exceeds the value of maxKeys,
nextVersionIdMarker specifies the first object version not returned that
satisfies the search criteria. Use this value for the versionMarker request
parameter in a subsequent request. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;revisions: an array of objects listing the bucket object versions
(array, mandatory). The fields of each contained object have the following
meaning:
&lt;ul&gt;
&lt;li&gt;kind: the revision kind. One of "Version" or "DeleteMarker" (string,
mandatory).&lt;/li&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;versionId: the object version id (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory for "Version" objects, not present for
"DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;size: the object size in bytes (integer, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object versions in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the default credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">list-bucket-versions</string>
<string key="qname">s3:list-bucket-versions</string>
<string key="signature">($credentials as item()?, $bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects versions in a bucket using the specified credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $options :=
{
"delimiter": "/",
"maxKeys": 2,
"keyMarker": "image.jpg",
"versionIdMarker": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893"
}
return s3:list-bucket-versions("credentials", "28msec", $options)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The options object must have the following structure:
&lt;ul&gt;
&lt;li&gt;delimiter: the delimiter marks where the listed results stop. For example,
a delimiter / lists all objects starting with $prefix plus arbitrary
characters but not / (string, optional). Default is the empty string,
that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;keyMarker: specifies a key as starting point; following keys (lexicographically
greater than the marker) in alphabetical order are listed (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;versionMarker: specifies the object version you want starting from;
following revisions (newer than the marker) are listed (string, optional).
By default all versions are listed. Empty string is not allowed.&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned. If more keys than maxKeys
can be fetched, the result contains &lt;IsTruncated&gt;true&lt;/IsTruncated&gt;
(integer, optional). Default is 1000.&lt;/li&gt;
&lt;li&gt;prefix: only keys starting with the prefix are returned (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"keyMarker" : "image.jpg",
"VersionIdMarker" : "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"nextKeyMarker": "marker",
"nextVersionIdMarker": "UIORUnfndfhnw89493jJFJ",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"revisions":
[
{
"kind": "Version",
"key": "image.jpg",
"versionId": "QUpfdndhfd8438MNFDN93jdnJFkdmqnh893",
"isLatest": false,
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
},
{
"kind": "DeleteMarker",
"key": "image.jpg",
"versionId": "03jpff543dhffds434rfdsFDN943fdsFkdmqnh892",
"isLatest": true,
"lastModified": "2009-10-12T17:50:30.000Z",
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;keyMarker: indicates from which key in the listing begins
(string, mandatory).&lt;/li&gt;
&lt;li&gt;versionMarker: indicates from which version the listing begins
(string, optional).&lt;/li&gt;
&lt;li&gt;nextKeyMarker: when the number of responses exceeds the value of maxKeys,
nextKeyMarker specifies the first key not returned that satisfies the search
criteria. Use this value for the keyMarker request parameter in a subsequent
request. (string, optional)&lt;/li&gt;
&lt;li&gt;nextVersionMarker: when the number of responses exceeds the value of maxKeys,
nextVersionIdMarker specifies the first object version not returned that
satisfies the search criteria. Use this value for the versionMarker request
parameter in a subsequent request. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;revisions: an array of objects listing the bucket object versions
(array, mandatory). The fields of each contained object have the following
meaning:
&lt;ul&gt;
&lt;li&gt;kind: the revision kind. One of "Version" or "DeleteMarker" (string,
mandatory).&lt;/li&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;versionId: the object version id (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory for "Version" objects, not present for
"DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;size: the object size in bytes (integer, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory for "Version" objects,
not present for "DeleteMarker" objects).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects versions in a bucket using the specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the specified credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-bucket</string>
<string key="qname">s3:list-bucket</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in the default bucket of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-bucket("28msec")
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "28msec",
"prefix": "",
"marker" : "",
"nextMarker": "marker",
"maxKeys": 1,
"delimiter": "",
"isTruncated": true,
"contents":
[
{
"key": "image.jpg",
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD"
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;marker: indicates where in the bucket listing begins (string, mandatory).&lt;/li&gt;
&lt;li&gt;nextMarker: when the response is truncated, you can use the key name
in this field as marker in the subsequent request to get next set of objects.
Amazon S3 lists objects in alphabetical order. This field is returned only
if you have specified the delimiter request parameter. If the response does
not include the nextMaker field and it is truncated, you can use the value
of the last Key in the response as the marker in the subsequent request to
get the next set of object keys. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;contents: an array of objects listing the bucket content (array, mandatory).
The fields of each contained object have the following meaning:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in the default bucket of the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of objects in the default bucket of the default S3 credentials</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no default bucket is present in the default S3 credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-bucket</string>
<string key="qname">s3:list-bucket</string>
<string key="signature">($bucket as string?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-bucket("28msec")
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "28msec",
"prefix": "",
"marker" : "",
"nextMarker": "marker",
"maxKeys": 1,
"delimiter": "",
"isTruncated": true,
"contents":
[
{
"key": "image.jpg",
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD"
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
]
}
&lt;/pre&gt;
The meanings of the fields in the return object are the following:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;marker: indicates where in the bucket listing begins (string, mandatory).&lt;/li&gt;
&lt;li&gt;nextMarker: when the response is truncated, you can use the key name
in this field as marker in the subsequent request to get next set of objects.
Amazon S3 lists objects in alphabetical order. This field is returned only
if you have specified the delimiter request parameter. If the response does
not include the nextMaker field and it is truncated, you can use the value
of the last Key in the response as the marker in the subsequent request to
get the next set of object keys. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;contents: an array of objects listing the bucket content (array, mandatory).
The fields of each contained object have the following meaning:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default S3 credentials will be listed.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the objects in the specified bucket.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">list-bucket</string>
<string key="qname">s3:list-bucket</string>
<string key="signature">($bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the default S3 credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $options :=
{
"delimiter": "/",
"marker": "",
"maxKeys": 1,
"prefix": ""
}
return s3:list-bucket("credentials", "28msec", $options)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The options object must have the following structure:
&lt;ul&gt;
&lt;li&gt;delimiter: the delimiter marks where the listed results stop. For example,
a delimiter / lists all objects starting with $prefix plus arbitrary
characters but not / (string, optional). Default is the empty string,
that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;marker: specifies a key as starting point; following keys (lexicographically
greater than the marker) in alphabetical order are listed (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned. If more keys than maxKeys
can be fetched, the result contains &lt;IsTruncated&gt;true&lt;/IsTruncated&gt;
(integer, optional). Default is 1000.&lt;/li&gt;
&lt;li&gt;prefix: only keys starting with the prefix are returned (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"marker" : "",
"nextMarker": "marker",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"contents":
[
{
"key": "image.jpg",
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD"
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;marker: indicates where in the bucket listing begins (string, mandatory).&lt;/li&gt;
&lt;li&gt;nextMarker: when the response is truncated, you can use the key name
in this field as marker in the subsequent request to get next set of objects.
Amazon S3 lists objects in alphabetical order. This field is returned only
if you have specified the delimiter request parameter. If the response does
not include the nextMaker field and it is truncated, you can use the value
of the last Key in the response as the marker in the subsequent request to
get the next set of object keys. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;contents: an array of objects listing the bucket content (array, mandatory).
The fields of each contained object have the following meaning:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the default S3 credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the default credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">list-bucket</string>
<string key="qname">s3:list-bucket</string>
<string key="signature">($credentials as item()?, $bucket as string?, $options as object()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists the objects in a bucket using the specified credentials.
This method allows the specification of additional listing options.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $options :=
{
"delimiter": "/",
"marker": "",
"maxKeys": 1,
"prefix": ""
}
return s3:list-bucket("credentials", "28msec", $options)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The options object must have the following structure:
&lt;ul&gt;
&lt;li&gt;delimiter: the delimiter marks where the listed results stop. For example,
a delimiter / lists all objects starting with $prefix plus arbitrary
characters but not / (string, optional). Default is the empty string,
that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;marker: specifies a key as starting point; following keys (lexicographically
greater than the marker) in alphabetical order are listed (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned. If more keys than maxKeys
can be fetched, the result contains &lt;IsTruncated&gt;true&lt;/IsTruncated&gt;
(integer, optional). Default is 1000.&lt;/li&gt;
&lt;li&gt;prefix: only keys starting with the prefix are returned (string, optional).
Default is the empty string, that is, all objects are listed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example result:
&lt;pre&gt;
{
"name": "bucket",
"prefix": "",
"marker" : "",
"nextMarker": "marker",
"maxKeys": 1,
"delimiter": "/",
"isTruncated": true,
"contents":
[
{
"key": "image.jpg",
"lastModified": "2009-10-12T17:50:30.000Z",
"eTag": "\"fba9dede5f27731c9771645a39863328\"",
"size": 434234,
"storageClass": "STANDARD"
"owner":
{
"id": "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"
"displayName": "mtd@amazon.com"
}
}
],
"commonPrefixes": ["photos/"]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;prefix: the used prefix (string, mandatory).&lt;/li&gt;
&lt;li&gt;marker: indicates where in the bucket listing begins (string, mandatory).&lt;/li&gt;
&lt;li&gt;nextMarker: when the response is truncated, you can use the key name
in this field as marker in the subsequent request to get next set of objects.
Amazon S3 lists objects in alphabetical order. This field is returned only
if you have specified the delimiter request parameter. If the response does
not include the nextMaker field and it is truncated, you can use the value
of the last Key in the response as the marker in the subsequent request to
get the next set of object keys. (string, optional)&lt;/li&gt;
&lt;li&gt;maxKeys: the maximum number of keys returned in the response body
(integer, mandatory).&lt;/li&gt;
&lt;li&gt;delimiter: the used delimiter (string, optional).&lt;/li&gt;
&lt;li&gt;isTruncated: whether or not all of the results were returned. All of the
results may not be returned if the number of results exceeds that specified
by the maxKeys request parameter (boolean, mandatory).&lt;/li&gt;
&lt;li&gt;contents: an array of objects listing the bucket content (array, mandatory).
The fields of each contained object have the following meaning:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;lastModified: the object last modification date (dateTime, mandatory).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, mandatory).&lt;/li&gt;
&lt;li&gt;storageClass: the object storage class. One of "STANDARD",
"REDUCED_REDUNDANCY" or "GLACIER" (string, mandatory).&lt;/li&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
optional). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;commonPrefixes: an array of strings which contains the list of the common
prefixes. It can be present only when the delimiter request parameter is
specified (array, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists the objects in a bucket using the specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">bucket</string>
<string key="type">string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The bucket to list. If the empty sequence is given, the default bucket of the specified credentials will be listed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The listing options.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the list of the object in the specified bucket</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OPTIONS if the specified options are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-buckets-nondeterministic</string>
<string key="qname">s3:list-buckets-nondeterministic</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists all buckets owned by the account of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-buckets-0"&gt;list-buckets#0&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists all buckets owned by the account of the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the owned buckets list</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-buckets-nondeterministic</string>
<string key="qname">s3:list-buckets-nondeterministic</string>
<string key="signature">($credentials as item()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists all buckets owned by the account of the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#list-buckets-1"&gt;list-buckets#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists all buckets owned by the account of the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the owned buckets list</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">list-buckets</string>
<string key="qname">s3:list-buckets</string>
<string key="signature">() as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists all buckets owned by the account of the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-buckets()
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"owner" :
{
"id": "dfe08489302934392afe39239fe953039d9e2af0c94",
"displayName": "28msec"
},
"buckets" :
[
{
"name": "28msec",
"creationDate": "2010-11-03T17:42:45.000Z",
}
]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;owner: an object which specifies the owner of the bucket (object,
mandatory). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the bucket owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the bucket owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;buckets: an array which contains an object for each owned bucket
(array, mandatory). Each object contains the following fields:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;creationDate: the bucket creation date. (dateTime, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists all buckets owned by the account of the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">object()</string>
<string key="description">the owned buckets list</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">list-buckets</string>
<string key="qname">s3:list-buckets</string>
<string key="signature">($credentials as item()?) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Lists all buckets owned by the account of the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
s3:list-buckets("credentials")
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"owner" :
{
"id": "dfe08489302934392afe39239fe953039d9e2af0c94",
"displayName": "28msec"
},
"buckets" :
[
{
"name": "28msec",
"creationDate": "2010-11-03T17:42:45.000Z",
}
]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;owner: an object which specifies the owner of the bucket (object,
mandatory). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the bucket owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the bucket owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;buckets: an array which contains an object for each owned bucket
(array, mandatory). Each object contains the following fields:
&lt;ul&gt;
&lt;li&gt;name: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;creationDate: the bucket creation date. (dateTime, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Lists all buckets owned by the account of the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the owned buckets list</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-metadata-nondeterministic</string>
<string key="qname">s3:object-metadata-nondeterministic</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an object metadata using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-metadata-1"&gt;object-metadata#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an object metadata using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the metadata for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object metadata.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-metadata-nondeterministic</string>
<string key="qname">s3:object-metadata-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an object metadata using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-metadata-2"&gt;object-metadata#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an object metadata using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the metadata for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object metadata.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-metadata</string>
<string key="qname">s3:object-metadata</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an object metadata using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the metadata of the
latest version of the object will be returned. If specified, only the
metadata of that particular version of the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:metadata-object($object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"key": "test.xml",
"bucket": "28msec",
"metadata":
{
"author": "28msec"
},
"missing-metadata" : 1,
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
"restore": "x-amz-restore: ongoing-request=\"false\", expiry-date=\"Wed, 07 Nov 2012 00:00:00 GMT\""
"serverSideEncryption": "AES256",
"lastModified": "Mon, 15 Oct 2012 21:58:07 GMT",
"eTag": "1accb31fcf202eba0c0f41fa2f09b4d7",
"mediaType": "text/plain"
"length": "28"
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;missing-metadata: the number of metadata entries that were not returned
in the metadata object. This can happen if you create metadata using an API
like SOAP that supports more flexible metadata than the REST API. (integer,
optional).&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;li&gt;expiration: if the object expiration is configured (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html"&gt;PUT Bucket lifecycle&lt;/a&gt;),
this field is present. It includes the expiry-date and rule-id key value
pairs providing object expiration information. The value of rule-id is URL
encoded.(string, optional).&lt;/li&gt;
&lt;li&gt;restore: if the object is an archived object (an object whose storage
class is Glacier), the response includes this header if either the archive
restoration is in progress (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html"&gt;POST Object restore&lt;/a&gt;),
or an archive copy is already restored.(string, optional).&lt;/li&gt;
&lt;li&gt;serverSideEncryption: If the object is stored by using server-side
encryption, the response includes this header with a value of the encryption
algorithm that was used.(string, optional).&lt;/li&gt;
&lt;li&gt;lastModified: the date in which the object was last modified (dateTime,
optional).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, optional).&lt;/li&gt;
&lt;li&gt;mediaType: the object media-type (string, mandatory).&lt;/li&gt;
&lt;li&gt;length: the object content length (integer, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an object metadata using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the metadata for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object metadata.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-metadata</string>
<string key="qname">s3:object-metadata</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an object metadata using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the metadata of the
latest version of the object will be returned. If specified, only the
metadata of that particular version of the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:metadata-object("credentials", $object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"key": "test.xml",
"bucket": "28msec",
"metadata":
{
"author": "28msec"
},
"missing-metadata" : 1,
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
"restore": "x-amz-restore: ongoing-request=\"false\", expiry-date=\"Wed, 07 Nov 2012 00:00:00 GMT\""
"serverSideEncryption": "AES256",
"lastModified": "Mon, 15 Oct 2012 21:58:07 GMT",
"eTag": "1accb31fcf202eba0c0f41fa2f09b4d7",
"mediaType": "text/plain"
"length": "28"
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;missing-metadata: the number of metadata entries that were not returned
in the metadata object. This can happen if you create metadata using an API
like SOAP that supports more flexible metadata than the REST API. (integer,
optional).&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;li&gt;expiration: if the object expiration is configured (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html"&gt;PUT Bucket lifecycle&lt;/a&gt;),
this field is present. It includes the expiry-date and rule-id key value
pairs providing object expiration information. The value of rule-id is URL
encoded.(string, optional).&lt;/li&gt;
&lt;li&gt;restore: if the object is an archived object (an object whose storage
class is Glacier), the response includes this header if either the archive
restoration is in progress (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html"&gt;POST Object restore&lt;/a&gt;),
or an archive copy is already restored.(string, optional).&lt;/li&gt;
&lt;li&gt;serverSideEncryption: If the object is stored by using server-side
encryption, the response includes this header with a value of the encryption
algorithm that was used.(string, optional).&lt;/li&gt;
&lt;li&gt;lastModified: the date in which the object was last modified (dateTime,
optional).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, optional).&lt;/li&gt;
&lt;li&gt;mediaType: the object media-type (string, mandatory).&lt;/li&gt;
&lt;li&gt;length: the object content length (integer, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an object metadata using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the metadata for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object metadata.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-permissions-nondeterministic</string>
<string key="qname">s3:object-permissions-nondeterministic</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the access control list (ACL) of an S3 object using the default
S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-permissions-1"&gt;object-permissions#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the access control list (ACL) of an S3 object using the default
S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the ACL for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the object ACL</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-permissions-nondeterministic</string>
<string key="qname">s3:object-permissions-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the access control list (ACL) of an S3 object using the specified
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-permissions-2"&gt;object-permissions#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the access control list (ACL) of an S3 object using the specified
credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the ACL for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the object ACL</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-permissions</string>
<string key="qname">s3:object-permissions</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the access control list (ACL) of an S3 object using the default
S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:object-permissions($object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"owner" :
{
"id" : "ea3617f5543e366a51bf51f440c221410b8001c34744e9d3a81acb79cff9d2ed",
"displayName" : "28msec"
},
"acl" :
[
{
"grantee" :
{
"type" : "CanonicalUser",
"id" : "ea3617f5543e366a51bf51f440c221410b8001c34744e9d3a81acb79cff9d2ed",
"displayName" : "28msec"
},
"permission" : "FULL_CONTROL"
}
]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
mandatory). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;acl: an array which contains an object for each grantee with the corresponding
ACL settings (array, mandatory). Each object contains the following fields:
&lt;ul&gt;
&lt;li&gt;grantee: specifies the permissions grantee (object, mandatory). It
contains the following fields:
&lt;ul&gt;
&lt;li&gt;type: one of "AmazonCustomerByEmail", "CanonicalUser" or "Group".&lt;/li&gt;
&lt;li&gt;emailAddress: the customer email address (string, present in all
and only AmazonCustomerByEmail grantees).&lt;/li&gt;
&lt;li&gt;id: the user identifier (string, present in all and only CanonicalUser
grantees).&lt;/li&gt;
&lt;li&gt;displayName: the user screen name (string, present in all and only
CanonicalUser grantees).&lt;/li&gt;
&lt;li&gt;URI: the group URI (string, present in all and only Group grantees).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;permission: the granted permissions. One of "READ", "WRITE", "READ_ACP",
"WRITE_ACP", "FULL_CONTROL". (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the access control list (ACL) of an S3 object using the default
S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the ACL for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the object ACL</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-permissions</string>
<string key="qname">s3:object-permissions</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the access control list (ACL) of an S3 object using the specified
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials does not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:object-permissions("credentials", $object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"owner" :
{
"id" : "ea3617f5543e366a51bf51f440c221410b8001c34744e9d3a81acb79cff9d2ed",
"displayName" : "28msec"
},
"acl" :
[
{
"grantee" :
{
"type" : "CanonicalUser",
"id" : "ea3617f5543e366a51bf51f440c221410b8001c34744e9d3a81acb79cff9d2ed",
"displayName" : "28msec"
},
"permission" : "FULL_CONTROL"
}
]
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;owner: an object which specifies the owner of the object (object,
mandatory). It has the following fields:
&lt;ul&gt;
&lt;li&gt;id: the user identifier of the object owner (string, mandatory).&lt;/li&gt;
&lt;li&gt;displayName: the screen name of the object owner (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;acl: an array which contains an object for each grantee with the corresponding
ACL settings (array, mandatory). Each object contains the following fields:
&lt;ul&gt;
&lt;li&gt;grantee: specifies the permissions grantee (object, mandatory). It contains
the following fields:
&lt;ul&gt;
&lt;li&gt;type: one of "AmazonCustomerByEmail", "CanonicalUser" or "Group".&lt;/li&gt;
&lt;li&gt;emailAddress: the customer email address (string, present in all
and only AmazonCustomerByEmail grantees).&lt;/li&gt;
&lt;li&gt;id: the user identifier (string, present in all and only CanonicalUser
grantees).&lt;/li&gt;
&lt;li&gt;displayName: the user screen name (string, present in all and only
CanonicalUser grantees).&lt;/li&gt;
&lt;li&gt;URI: the group URI (string, present in all and only Group grantees).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;permission: the granted permissions. One of "READ", "WRITE", "READ_ACP",
"WRITE_ACP", "FULL_CONTROL". (string, mandatory).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the access control list (ACL) of an S3 object using the specified
credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve the ACL for.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the object ACL</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-torrent-nondeterministic</string>
<string key="qname">s3:object-torrent-nondeterministic</string>
<string key="signature">($s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns a torrent file for a given object using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-torrent-1"&gt;object-torrent#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns a torrent file for a given object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to retrieve the torrent file for&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the base64 encoded torrent file for the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-torrent-nondeterministic</string>
<string key="qname">s3:object-torrent-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns a torrent file for a given object using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#object-torrent-2"&gt;object-torrent#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns a torrent file for a given object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to retrieve the torrent file for&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the base64 encoded torrent file of the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">object-torrent</string>
<string key="qname">s3:object-torrent</string>
<string key="signature">($s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns a torrent file for a given object using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec"
}
return s3:object-torrent($object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns a torrent file for a given object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to retrieve the torrent file for&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the base64 encoded torrent file for the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">object-torrent</string>
<string key="qname">s3:object-torrent</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns a torrent file for a given object using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec"
}
return s3:object-torrent($object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns a torrent file for a given object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to retrieve the torrent file for&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the base64 encoded torrent file of the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-binary-nondeterministic</string>
<string key="qname">s3:read-binary-nondeterministic</string>
<string key="signature">($s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the binary content of an S3 object using the default S3 credentials.
The object content is forced to be interpreted as binaryand will be returned
as a base64Binary item.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-binary-1"&gt;read-binary#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the binary content of an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the object or object version binary content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-binary-nondeterministic</string>
<string key="qname">s3:read-binary-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the binary content of an S3 object using the specified S3 credentials.
The object content is forced to be interpreted as binaryand will be returned
as a base64Binary item.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-binary-2"&gt;read-binary#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the binary content of an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the object or object version binary content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-binary</string>
<string key="qname">s3:read-binary</string>
<string key="signature">($s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the binary content of an S3 object using the default S3 credentials.
The object content is forced to be interpreted as binaryand will be returned
as a base64Binary item.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-binary($object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the binary content of an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the object or object version binary content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-binary</string>
<string key="qname">s3:read-binary</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as base64Binary</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the binary content of an S3 object using the specified S3 credentials.
The object content is forced to be interpreted as binaryand will be returned
as a base64Binary item.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-binary("credentials", $object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the binary content of an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">base64Binary</string>
<string key="description">the object or object version binary content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-object-nondeterministic</string>
<string key="qname">s3:read-object-nondeterministic</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an S3 object using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-object-1"&gt;read-object#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-object-nondeterministic</string>
<string key="qname">s3:read-object-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an S3 object using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-object-2"&gt;read-object#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-object</string>
<string key="qname">s3:read-object</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an S3 object using the default S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-object($object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"key": "test.xml",
"bucket": "28msec",
"metadata":
{
"author": "28msec"
},
"missing-metadata" : 1,
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
"restore": "x-amz-restore: ongoing-request=\"false\", expiry-date=\"Wed, 07 Nov 2012 00:00:00 GMT\""
"serverSideEncryption": "AES256",
"lastModified": "Mon, 15 Oct 2012 21:58:07 GMT",
"eTag": "1accb31fcf202eba0c0f41fa2f09b4d7",
"mediaType": "text/plain"
"length": "28",
"content: "1234567890123456789012345678"
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;missing-metadata: the number of metadata entries that were not returned
in the metadata object. This can happen if you create metadata using an API
like SOAP that supports more flexible metadata than the REST API. (integer,
optional).&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;li&gt;expiration: if the object expiration is configured (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html"&gt;PUT Bucket lifecycle&lt;/a&gt;),
this field is present. It includes the expiry-date and rule-id key value
pairs providing object expiration information. The value of rule-id is URL
encoded.(string, optional).&lt;/li&gt;
&lt;li&gt;restore: if the object is an archived object (an object whose storage
class is Glacier), the response includes this header if either the archive
restoration is in progress (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html"&gt;POST Object restore&lt;/a&gt;),
or an archive copy is already restored.(string, optional).&lt;/li&gt;
&lt;li&gt;serverSideEncryption: If the object is stored by using server-side
encryption, the response includes this header with a value of the encryption
algorithm that was used.(string, optional).&lt;/li&gt;
&lt;li&gt;lastModified: the date in which the object was last modified (dateTime,
optional).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, optional).&lt;/li&gt;
&lt;li&gt;mediaType: the object media-type (string, mandatory).&lt;/li&gt;
&lt;li&gt;length: the object content length (integer, optional).&lt;/li&gt;
&lt;li&gt;content: the object content. (item, optional). The type of this field
is determined by the media-type returned by the server. If the media-type
indicates that the body content is textual, then the content has type string,
base64Binary otherwise. Specifically, the body content is considered textual
if and only if the MIME-type specified in the media-type is one of:
&lt;ul&gt;
&lt;li&gt;"application/json"&lt;/li&gt;
&lt;li&gt;"application/x-javascript"&lt;/li&gt;
&lt;li&gt;"application/xml"&lt;/li&gt;
&lt;li&gt;"application/xml-external-parsed-entity"&lt;/li&gt;
&lt;/ul&gt;
or if the MIME-type starts with "text/" or ends with "+xml".&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-object</string>
<string key="qname">s3:read-object</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves an S3 object using the specified S3 credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-object($object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"key": "test.xml",
"bucket": "28msec",
"metadata":
{
"author": "28msec"
},
"missing-metadata" : 1,
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"expiration": "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\""
"restore": "x-amz-restore: ongoing-request=\"false\", expiry-date=\"Wed, 07 Nov 2012 00:00:00 GMT\""
"serverSideEncryption": "AES256",
"lastModified": "Mon, 15 Oct 2012 21:58:07 GMT",
"eTag": "1accb31fcf202eba0c0f41fa2f09b4d7",
"mediaType": "text/plain"
"length": "28",
"content: "1234567890123456789012345678"
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, mandatory).&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;missing-metadata: the number of metadata entries that were not returned
in the metadata object. This can happen if you create metadata using an API
like SOAP that supports more flexible metadata than the REST API. (integer,
optional).&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be returned. If specified, only the
permissions for that particular version of the object will be returned.&lt;/li&gt;
&lt;li&gt;expiration: if the object expiration is configured (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html"&gt;PUT Bucket lifecycle&lt;/a&gt;),
this field is present. It includes the expiry-date and rule-id key value
pairs providing object expiration information. The value of rule-id is URL
encoded.(string, optional).&lt;/li&gt;
&lt;li&gt;restore: if the object is an archived object (an object whose storage
class is Glacier), the response includes this header if either the archive
restoration is in progress (see
&lt;a href="http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html"&gt;POST Object restore&lt;/a&gt;),
or an archive copy is already restored.(string, optional).&lt;/li&gt;
&lt;li&gt;serverSideEncryption: If the object is stored by using server-side
encryption, the response includes this header with a value of the encryption
algorithm that was used.(string, optional).&lt;/li&gt;
&lt;li&gt;lastModified: the date in which the object was last modified (dateTime,
optional).&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. For objects created by the PUT Object operation
and the POST Object operation, the eTag is a quoted, 32-digit hexadecimal
string representing the MD5 digest of the object data. For other objects,
the eTag may or may not be an MD5 digest of the object data. If the eTag is
not an MD5 digest of the object data, it will contain one or more non-hexadecimal
characters and/or will consist of less than 32 or more than 32 hexadecimal
digits.(string, optional).&lt;/li&gt;
&lt;li&gt;mediaType: the object media-type (string, mandatory).&lt;/li&gt;
&lt;li&gt;length: the object content length (integer, optional).&lt;/li&gt;
&lt;li&gt;content: the object content. (item, optional). The type of this field
is determined by the media-type returned by the server. If the media-type
indicates that the body content is textual,then the content has type string,
base64Binary otherwise. Specifically, the body content is considered textual
if and only if the MIME-type specified in the media-type is one of:
&lt;ul&gt;
&lt;li&gt;"application/json"&lt;/li&gt;
&lt;li&gt;"application/x-javascript"&lt;/li&gt;
&lt;li&gt;"application/xml"&lt;/li&gt;
&lt;li&gt;"application/xml-external-parsed-entity"&lt;/li&gt;
&lt;/ul&gt;
or if the MIME-type starts with "text/" or ends with "+xml".&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the specified object.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-text-nondeterministic</string>
<string key="qname">s3:read-text-nondeterministic</string>
<string key="signature">($s3-object as item()) as string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the textual content of an S3 object using the default S3 credentials.
The object content is forced to be interpreted as textual, with a UTF-8 charset
and will be returned as string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-text-1"&gt;read-text#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the textual content of an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">the object or object version textual content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-text-nondeterministic</string>
<string key="qname">s3:read-text-nondeterministic</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the textual content of an S3 object using the specified S3 credentials.
The object content is forced to be interpreted as textual, with a UTF-8 charset
and will be returned as string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#read-text-2"&gt;read-text#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the textual content of an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">the object or object version textual content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">read-text</string>
<string key="qname">s3:read-text</string>
<string key="signature">($s3-object as item()) as string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the textual content of an S3 object using the default S3 credentials.
The object content is forced to be interpreted as textual, with a UTF-8 charset
and will be returned as string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-text("credentials", $object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the textual content of an S3 object using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">the object or object version textual content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">read-text</string>
<string key="qname">s3:read-text</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Retrieves the textual content of an S3 object using the specified S3 credentials.
The object content is forced to be interpreted as textual, with a UTF-8 charset
and will be returned as string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the latest version of
the object will be returned. If specified, only that particular version of
the object will be returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo"
}
return s3:read-text("credentials", $object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Retrieves the textual content of an S3 object using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version to retrieve.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">the object or object version textual content.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:RESPONSE the response received from S3 cannot be parsed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">set-object-permissions</string>
<string key="qname">s3:set-object-permissions</string>
<string key="signature">($s3-object as item()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Sets the access control list (ACL) of an S3 object using the default S3
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be set. If specified, only the
permissions for that particular version of the object will be set.&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo",
"permission": $s3:ACL-GRANT-PUBLIC-READ
}
return s3:set-object-permissions($object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Sets the access control list (ACL) of an S3 object using the default S3
credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version and ACL to set.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">set-object-permissions</string>
<string key="qname">s3:set-object-permissions</string>
<string key="signature">($credentials as item()?, $s3-object as item()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Sets the access control list (ACL) of an S3 object using the specified S3
credentials.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used. If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;version: the object version (string, optional). If versioning is enabled
for the specified object and no version is specified the permissions for the
latest version of the object will be set. If specified, only the
permissions for that particular version of the object will be set.&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
let $object :=
{
"key": "object",
"bucket": "28msec",
"version": "3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo",
"permission": $s3:ACL-GRANT-PUBLIC-READ
}
return s3:set-object-permissions($object)
&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Sets the access control list (ACL) of an S3 object using the specified S3
credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object or object version and ACL to set.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the empty sequence</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">write-binary</string>
<string key="qname">s3:write-binary</string>
<string key="signature">($object as item(), $binary-content as base64Binary) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes a binary object in an S3 bucket using the default S3 credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. The object media-type will be set to "binary/octet-stream", no metadata will
be set for the object, the object will be stored on standard redundancy storage,
and the object permission will be set to "private", that is, the owner gets
FULL_CONTROL, and no one else has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"binary/octet-stream" is used.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"mediaType": "application/octet-stream"
}
s3:write-binary($s3-object, base64Binary("Mjhtc2Vj"))
&lt;/pre&gt;
Example Result:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The meaning of the fields in the result object is the following:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes a binary object in an S3 bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">binary-content</string>
<string key="type">base64Binary</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">write-binary</string>
<string key="qname">s3:write-binary</string>
<string key="signature">($credentials as item()?, $object as item(), $binary-content as base64Binary) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes a binary object in an S3 bucket using the specified S3 credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. The object media-type will be set to "binary/octet-stream", no metadata will
be set for the object, the object will be stored on standard redundancy storage,
and the object permission will be set to "private", that is, the owner gets
FULL_CONTROL, and no one else has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"binary/octet-stream" is used.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"mediaType": "application/octet-stream"
}
s3:write-binary("credentials", $s3-object, base64Binary("Mjhtc2Vj"))
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes a binary object in an S3 bucket using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">binary-content</string>
<string key="type">base64Binary</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">write-object</string>
<string key="qname">s3:write-object</string>
<string key="signature">($s3-object as item()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes an object in an S3 bucket using the default S3 credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The object to write and its contents are specified through the $s3-object
parameter, which must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;content: the object content. It must either be a string or a base64Binary
atomic. (item, mandatory).&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"text/plain" is used if the content field is of type string, "binary/octet-stream"
if it is of type base64Binary.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"content": serialize({ "Hello": "World" }),
"mediaType": "application/xml"
}
s3:write-object($s3-object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes an object in an S3 bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s3-object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to write.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">write-object</string>
<string key="qname">s3:write-object</string>
<string key="signature">($credentials as item()?, $s3-object as object()) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes an object in an S3 bucket using the specified credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The object to write and its contents are specified through the $s3-object
parameter, which must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;content: the object content. It must either be a string or a base64Binary
atomic. (item, mandatory).&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"text/plain" is used if the content field is of type string, "binary/octet-stream"
if it is of type base64Binary.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"content": serialize({ "Hello": "World" }),
"mediaType": "application/xml"
}
s3:write-object("s3", $s3-object)
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes an object in an S3 bucket using the specified credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s3-object</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The S3 object to write.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">write-text</string>
<string key="qname">s3:write-text</string>
<string key="signature">($object as item(), $text-content as string) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes a textual object in an S3 bucket using the default S3 credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a string is specified, it is interpreted as
key for an object in the default bucket of the default credentials. If no default
bucket is present in the default credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. The object media-type will be set to "text/plain", no metadata will
be set for the object, the object will be stored on standard redundancy storage,
and the object permission will be set to "private", that is, the owner gets
FULL_CONTROL, and no one else has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the default credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"text/plain" is used.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"mediaType": "text/xml"
}
s3:write-text($s3-object, serialize(&amp;lt;a/&amp;gt;))
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes a textual object in an S3 bucket using the default S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">text-content</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The textual object content.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the default S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">write-text</string>
<string key="qname">s3:write-text</string>
<string key="signature">($credentials as item()?, $object as item(), $text-content as string) as object()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Writes a text object in an S3 bucket using the specified S3 credentials.
If the object already exists it is overwritten.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The S3 object is specified through the $s3-object parameter. Either a string
or a JSON object can be used.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a string is specified, it is interpreted as
key for an object in the default bucket of the specified credentials. If no default
bucket is present in the specified credentials, the &lt;code&gt;s3:BUCKET&lt;/code&gt; error
is raised. The object media-type will be set to "text/plain", no metadata will
be set for the object, the object will be stored on standard redundancy storage,
and the object permission will be set to "private", that is, the owner gets
FULL_CONTROL, and no one else has access rights.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a JSON object is used, it must have the following structure:
&lt;ul&gt;
&lt;li&gt;key: the object key (string, mandatory).&lt;/li&gt;
&lt;li&gt;bucket: the bucket name (string, optional). If this field is not present
and the specified credentials do not have a default bucket, the
&lt;code&gt;s3:BUCKET&lt;/code&gt; error is raised.&lt;/li&gt;
&lt;li&gt;mediaType: the media-type of the object (string, optional). If not specified,
"text/plain" is used.&lt;/li&gt;
&lt;li&gt;metadata: an object specifying additional metadata. Each metadata is a
name-value pair and is represented as different fields (object, optional).&lt;/li&gt;
&lt;li&gt;permission: the permission to set (string, optional). It must be one of
"private", "public-read", "public-read-write", "authenticated-read",
"bucket-owner-read", "bucket-owner-full-control". For your convenience the
following variables can be used: &lt;code&gt;$s3:ACL-GRANT-PRIVATE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-PUBLIC-READ-WRITE&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-AUTHENTICATED-READ&lt;/code&gt;, &lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-READ&lt;/code&gt;,
&lt;code&gt;$s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL&lt;/code&gt;. If this field is not
specified, the "private" ACL is used, that is, the owner gets FULL_CONTROL,
and no one else has access rights.&lt;/li&gt;
&lt;li&gt;reducedRedundancy: whether to use reduced-redundancy or not (bool,
optional). Default is false.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre&gt;
variable $s3-object :=
{
"key": "test.xml",
"bucket": "28msec",
"permission": $const:ACL-GRANT-PUBLIC-READ,
"metadata": { "author": "28msec" },
"mediaType": "text/xml"
}
s3:write-text("credentials", $s3-object, serialize(&amp;lt;a/&amp;gt;))
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example return object:
&lt;pre&gt;
{
"expiration": "expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\", rule-id=\"1\"",
"version": "3GL4kqtJlcpXroDTDm3vjVBH40Nr8X8g",
"eTag": "\"1b2cf535f27731c974343645a3985328\""
}
&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The fields in the returned object have the following meanings:
&lt;ul&gt;
&lt;li&gt;expiration: if the object expiration is configured, the response
includes this header. It includes the expiry-date and rule-id key-value
pairs providing object expiration information. The value of the rule-id is
URL encoded. (string, optional)&lt;/li&gt;
&lt;li&gt;version: the version of the object. When you enable versioning,
Amazon S3 generates a random number for objects added to a bucket. The value
is UTF-8 encoded and URL ready. When you PUT an object in a bucket where
versioning has been suspended, the version ID is always null. (string, optional)&lt;/li&gt;
&lt;li&gt;eTag: the entity tag is a hash of the object. The eTag only reflects
changes to the contents of an object, not its metadata. The eTag is determined
when an object is created. The eTag returned by this method is a quoted,
32-digit hexadecimal string representing the MD5 digest of the object data.
For other objects, the eTag may or may not be an MD5 digest of the object data.
(string, optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Writes a text object in an S3 bucket using the specified S3 credentials.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials</string>
<string key="type">item()</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">object</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">text-content</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The textual object content.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">the S3 operation result.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:CREDENTIALS if the specified S3 credentials cannot be found or are invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:OBJECT if the object specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:BUCKET if no bucket has been specified and no default bucket is present in the used credentials&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:HTTP an HTTP error occurred sending the request to S3&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;s3:REQUEST S3 refused to execute the request&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables">
<map>
<string key="name">s3:ACL-GRANT-PRIVATE</string>
<string key="type">item()*</string>
<string key="description"> The private canned ACL. It is applicable to buckets and objects.
Owner gets FULL_CONTROL. No one else has access rights.
</string>
</map>
<map>
<string key="name">s3:ACL-GRANT-PUBLIC-READ</string>
<string key="type">item()*</string>
<string key="description"> The public-read canned ACL. Applicable to buckets and objects.
Owner gets FULL_CONTROL. The AllUsers group gets READ access.
</string>
</map>
<map>
<string key="name">s3:ACL-GRANT-PUBLIC-READ-WRITE</string>
<string key="type">item()*</string>
<string key="description"> The public-read-write canned ACL. Applicable to buckets and objects.
Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
Granting this on a bucket is generally not recommended.
</string>
</map>
<map>
<string key="name">s3:ACL-GRANT-AUTHENTICATED-READ</string>
<string key="type">item()*</string>
<string key="description"> The autenticated-read canned ACL. Applicable to buckets and objects.
Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
</string>
</map>
<map>
<string key="name">s3:ACL-GRANT-BUCKET-OWNER-READ</string>
<string key="type">item()*</string>
<string key="description"> The grant-bucket-owner-read canned ACL. Applicable to objects.
Object owner gets FULL_CONTROL. Bucket owner gets READ access.
If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
</string>
</map>
<map>
<string key="name">s3:ACL-GRANT-BUCKET-OWNER-FULL-CONTROL</string>
<string key="type">item()*</string>
<string key="description"> The grant-bucket-owner-full-control canned ACL. Applicable to objects.
Both the object owner and the bucket owner get FULL_CONTROL over the object.
If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
</string>
</map>
</array>
</map>
<map key="http://api.28.io/authorization">
<string key="ns">http://api.28.io/authorization</string>
<string key="description"/>
<array key="sees"/>
<array key="authors"/>
<null key="version"/>
<null key="encoding"/>
<array key="namespaces">
<map>
<string key="uri"/>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://api.28.io/authorization</string>
<string key="prefix">authorization</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/base64</string>
<string key="prefix">base64</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/hmac</string>
<string key="prefix">hmac</string>
</map>
<map>
<string key="uri">http://expath.org/ns/http-client</string>
<string key="prefix">http-client</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/project</string>
<string key="prefix">project</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/http/request</string>
<string key="prefix">req</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/http/response</string>
<string key="prefix">res</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">authorized</string>
<string key="qname">authorization:authorized</string>
<string key="signature">() as xs:boolean</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">html-do-login</string>
<string key="qname">authorization:html-do-login</string>
<string key="signature">()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">0</number>
<string key="name">html-show-login</string>
<string key="qname">authorization:html-show-login</string>
<string key="signature">()</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns"/>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/store/static/integrity-constraints/dml">
<string key="ns">http://zorba.io/modules/store/static/integrity-constraints/dml</string>
<string key="description"> This module defines a function to check if an integrity constraint is
satisfied.
The integrity constraint needs to be declared in the prolog of a module.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
This module is part of
&lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="../zorba/xqddf.html"&gt;Zorba's XQuery Data Definition Facility&lt;/a&gt;.
All the integrity constraints managed by this module have to be pre-declared
in the prolog of a module.
Please refer to the
&lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="../zorba/data_lifecycle.html"&gt;general documentation&lt;/a&gt;
for more information and examples.
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="../zorba/data_lifecycle.html"&gt;Data Lifecycle&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="../zorba/xqddf.html"&gt;XQuery Data Definition Facility&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/store/static/integrity-constraints/dml&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/store/static/collections/dml&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/store/static/collections/ddl&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/store/static/indexes/ddl&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/modules/store/static/indexes/dml&lt;/xqdoc:see&gt;</string>
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://zorba.io/errors&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Nicolae Brinza, Matthias Brantner, David Graf, Till Westmann, Markos Zaharioudakis&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/store/static/integrity-constraints/dml</string>
<string key="prefix">icdml</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://zorba.io/errors</string>
<string key="prefix">zerr</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">check-integrity-constraint</string>
<string key="qname">icdml:check-integrity-constraint</string>
<string key="signature">($name as xs:QName) as xs:boolean external</string>
<string key="description"> Checks if the specified constraints are valid in the database.
</string>
<string key="summary">&lt;p&gt; Checks if the specified constraints are valid in the database.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">xs:QName</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the integrity constraint to check.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the constraints are valid; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0031 if the integrity constraint is not declared.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0032 if the integrity constraint is not available.&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/excel/statistical">
<string key="ns">http://zorba.io/modules/excel/statistical</string>
<string key="description"> This is a library module offering a part of the set of statistical functions
defined by Microsoft Excel 2003.
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://office.microsoft.com/en-us/excel/CH062528311033.aspx" target="_blank"&gt;Excel 2003 Documentation: Statistical Functions&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Daniel Turcanu&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/excel/statistical</string>
<string key="prefix">excel</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/excel/errors</string>
<string key="prefix">excel-err</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/excel/math</string>
<string key="prefix">excel-math</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">avedev</string>
<string key="qname">excel:avedev</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Returns the average of the absolute deviations of data points from their mean.
The formula is sum(abs(x - average_x))/n, where n is the count of x in the sequence.
</string>
<string key="summary">&lt;p&gt; Returns the average of the absolute deviations of data points from their mean.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. Sequence can be of any length from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The formula result</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">average</string>
<string key="qname">excel:average</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the average (arithmetic mean) of the arguments.
Arguments can be empty values, otherwise must be castable to numeric.
If sequence is empty then zero is returned.
The sequence can be of any length.
</string>
<string key="summary">&lt;p&gt; Returns the average (arithmetic mean) of the arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of numbers or empty values.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The sum of all numbers divided by the number of non-empty values.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">averagea</string>
<string key="qname">excel:averagea</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Calculates the average (arithmetic mean) of the values in the sequence of arguments.
Arguments can be of any type.
The numbers are added, and the sum is divided by the size of entire sequence.
</string>
<string key="summary">&lt;p&gt; Calculates the average (arithmetic mean) of the values in the sequence of arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values of any type. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The result</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">count</string>
<string key="qname">excel:count</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:integer</string>
<string key="description"> Counts the number of cells that contain numbers or values castable to numeric.
</string>
<string key="summary">&lt;p&gt; Counts the number of cells that contain numbers or values castable to numeric.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of values, of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">The count of numbers.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">counta</string>
<string key="qname">excel:counta</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:integer</string>
<string key="description"> Counts the number of values that are not empty.
Empty values are the one with string value "".
</string>
<string key="summary">&lt;p&gt; Counts the number of values that are not empty.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values of any type, any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">The count of non-empty values</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">countblank</string>
<string key="qname">excel:countblank</string>
<string key="signature">($cells as xs:anyAtomicType*) as xs:integer</string>
<string key="description"> Counts the empty values in a sequence.
The empty values are the ones with string value "".
The value 0 is not counted.
</string>
<string key="summary">&lt;p&gt; Counts the empty values in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">cells</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values, of any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">The count</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">large</string>
<string key="qname">excel:large</string>
<string key="signature">($numbers as xs:anyAtomicType*, $k as xs:integer) as xs:anyAtomicType</string>
<string key="description"> Returns the k-th largest value in a data set.
If n is the number of data points in a range,
then LARGE(array,1) returns the largest value,
and LARGE(array,n) returns the smallest value.
</string>
<string key="summary">&lt;p&gt; Returns the k-th largest value in a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">k</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the position of largest value, with value from 1 to count of values&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The k-th largest value as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sequence is empty&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if k is not a value between 1 and the sequence size&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">max</string>
<string key="qname">excel:max</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the largest number in a sequence.
</string>
<string key="summary">&lt;p&gt; Returns the largest number in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The max</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">maxa</string>
<string key="qname">excel:maxa</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the largest value in a list of arguments.
In this implementation there is no difference between MAX and MAXA.
</string>
<string key="summary">&lt;p&gt; Returns the largest value in a list of arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The max</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">median</string>
<string key="qname">excel:median</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the median of the given numbers.
The median is the number in the middle of a set of numbers.
Half the numbers have values that are greater than the median,
and half the numbers have values that are less than the median.
</string>
<string key="summary">&lt;p&gt; Returns the median of the given numbers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">for odd count of numbers return the number in the middle of the sorted sequence. For even count of numbers return the average of the two numbers in the middle.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">min</string>
<string key="qname">excel:min</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the smallest number in a sequence.
</string>
<string key="summary">&lt;p&gt; Returns the smallest number in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The min</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">mina</string>
<string key="qname">excel:mina</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the smallest value in a list of arguments.
In this implementation there is no difference between MAX and MAXA.
</string>
<string key="summary">&lt;p&gt; Returns the smallest value in a list of arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The min</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">mode</string>
<string key="qname">excel:mode</string>
<string key="signature">($numbers as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Returns the most frequently occurring, or repetitive, value in a sequence.
Arguments must be castable to numeric.
</string>
<string key="summary">&lt;p&gt; Returns the most frequently occurring, or repetitive, value in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The most occuring number</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;fn:QName("http://zorba.io/modules/excel/errors", "excel-err:NA") if there are no duplicate numbers&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">percentile</string>
<string key="qname">excel:percentile</string>
<string key="signature">($numbers as xs:anyAtomicType*, $k_at as xs:anyAtomicType) as xs:anyAtomicType</string>
<string key="description"> Returns the k-th percentile of values in a sequence.
If k is not a multiple of 1/(n - 1),
PERCENTILE interpolates to determine the value at the k-th percentile.
The function is computed by (max-min)*k + min
</string>
<string key="summary">&lt;p&gt; Returns the k-th percentile of values in a sequence.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers, of any length&lt;/div&gt;</string>
</map>
<map>
<string key="name">k_at</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the percentile, with value between 0 .. 1 inclusive&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The computed percentile</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if percentile is not between 0 .. 1&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">percentrank</string>
<string key="qname">excel:percentrank</string>
<string key="signature">($numbers as xs:anyAtomicType*, $x as xs:anyAtomicType) as xs:decimal</string>
<string key="description"> Returns the rank of a value in a data set as a percentage of the data set.
If x does not match one of the values in array,
PERCENTRANK interpolates to return the correct percentage rank. &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is uses: (RANK - 1) / (size - 1) .
</string>
<string key="summary">&lt;p&gt; Returns the rank of a value in a data set as a percentage of the data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">x</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value for which you want to know the rank&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:decimal</string>
<string key="description">The percentage of rank.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sequence is zero length&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">prob</string>
<string key="qname">excel:prob</string>
<string key="signature">($x_range as xs:anyAtomicType+, $prob_range as xs:anyAtomicType+, $range_lower_limit as xs:anyAtomicType) as xs:anyAtomicType</string>
<string key="description"> This is the same as above, only that upper_limit is not specified.
The probability is computed only for range_lower_limit.
</string>
<string key="summary">&lt;p&gt; This is the same as above, only that upper_limit is not specified.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x_range</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the range of numeric values of x with which there are associated probabilities. This does not need to be ordered.&lt;/div&gt;</string>
</map>
<map>
<string key="name">prob_range</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is a set of probabilities associated with values in x_range.&lt;/div&gt;</string>
</map>
<map>
<string key="name">range_lower_limit</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value for which you want a probability.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The probability of the range_lower_limit value</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if any probability is not between 0 and 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sum of probabilities is not equal to 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if any parameter is not castable to numeric&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if x_range and prob_range do not have the same number of values&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">prob</string>
<string key="qname">excel:prob</string>
<string key="signature">($x_range as xs:anyAtomicType+, $prob_range as xs:anyAtomicType+, $range_lower_limit as xs:anyAtomicType, $upper_limit as xs:anyAtomicType) as xs:anyAtomicType</string>
<string key="description"> Returns the probability that values in a range are between two limits.
</string>
<string key="summary">&lt;p&gt; Returns the probability that values in a range are between two limits.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x_range</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the range of numeric values of x with which there are associated probabilities. This does not need to be ordered.&lt;/div&gt;</string>
</map>
<map>
<string key="name">prob_range</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is a set of probabilities associated with values in x_range.&lt;/div&gt;</string>
</map>
<map>
<string key="name">range_lower_limit</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the lower bound on the value for which you want a probability.&lt;/div&gt;</string>
</map>
<map>
<string key="name">upper_limit</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the upper bound on the value for which you want a probability.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The probability of the entire range</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if any probability is not between 0 and 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sum of probabilities is not equal to 1&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if any parameter is not castable to numeric&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if x_range and prob_range do not have the same number of values&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">quartile</string>
<string key="qname">excel:quartile</string>
<string key="signature">($numbers as xs:anyAtomicType*, $quart as xs:integer) as xs:anyAtomicType</string>
<string key="description"> Returns the quartile of a data set.
</string>
<string key="summary">&lt;p&gt; Returns the quartile of a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; sequence of numbers or values castable to numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">quart</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;one of the values 0, 1, 2, 3, 4 with meaning: &lt;dt&gt;0&lt;/dt&gt; &lt;dd&gt; compute minimum value&lt;/dd&gt; &lt;dt&gt;1&lt;/dt&gt; &lt;dd&gt; compute first quartile (25th percentile)&lt;/dd&gt; &lt;dt&gt;2&lt;/dt&gt; &lt;dd&gt; compute median value (50th percentile)&lt;/dd&gt; &lt;dt&gt;3&lt;/dt&gt; &lt;dd&gt; compute third quartile (75th percentile)&lt;/dd&gt; &lt;dt&gt;4&lt;/dt&gt; &lt;dd&gt; compute maximum value&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">the computed quartile, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sequence is zero length&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if $quart is not one of the values 0, 1, 2, 3, 4&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">rank</string>
<string key="qname">excel:rank</string>
<string key="signature">($x as xs:anyAtomicType, $numbers as xs:anyAtomicType*) as xs:decimal</string>
<string key="description"> This RANK function is same as the above, only that $order_ascending is set by default to false.
</string>
<string key="summary">&lt;p&gt; This RANK function is same as the above, only that $order_ascending is set by default to false.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number whose rank you want to find.&lt;/div&gt;</string>
</map>
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numbers. The sequence can be of any length.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:decimal</string>
<string key="description">The rank of $x.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">rank</string>
<string key="qname">excel:rank</string>
<string key="signature">($x as xs:anyAtomicType, $numbers as xs:anyAtomicType*, $order_ascending as xs:boolean) as xs:decimal</string>
<string key="description"> Returns the rank of a number in a list of numbers.
The rank of a number is its size relative to other values in a list.
(If you were to sort the list, the rank of the number would be its position.)
RANK gives duplicate numbers the same rank.
</string>
<string key="summary">&lt;p&gt; Returns the rank of a number in a list of numbers.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number whose rank you want to find.&lt;/div&gt;</string>
</map>
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of numbers or values castable to numbers. The sequence can be of any length.&lt;/div&gt;</string>
</map>
<map>
<string key="name">order_ascending</string>
<string key="type">xs:boolean</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;A boolean having the meaning: &lt;dt&gt;false&lt;/dt&gt;&lt;dd&gt;then rank the number as if the sequence was sorted in descending order.&lt;/dd&gt; &lt;dt&gt;true&lt;/dt&gt; &lt;dd&gt;then rank the number as if the sequence was sorted in ascending order.&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:decimal</string>
<string key="description">The rank of $x.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">slope</string>
<string key="qname">excel:slope</string>
<string key="signature">($known_y as xs:anyAtomicType+, $known_x as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Returns the slope of the linear regression line through data points in known_y's and known_x's.
The slope is the vertical distance divided by the horizontal distance between
any two points on the line, which is the rate of change along the regression line.
It computes the formula:&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
sum((x - average_x)(y - average_y)) / sum((x - average_x)^2) &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
where average_x and average_y are computed with AVERAGE function.
</string>
<string key="summary">&lt;p&gt; Returns the slope of the linear regression line through data points in known_y's and known_x's.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">known_y</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of y numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">known_x</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of x numbers. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The slope value, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if any parameter cannot be casted to numeric&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;fn:QName("http://zorba.io/modules/excel/errors", "excel-err:NA") if there are different numbers of x's and y's&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;fn:QName("http://zorba.io/modules/excel/errors", "excel-err:NA") if any sequence is empty&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Div0 if all x's are equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">small</string>
<string key="qname">excel:small</string>
<string key="signature">($numbers as xs:anyAtomicType*, $k as xs:integer) as xs:anyAtomicType</string>
<string key="description"> This function computes the k-th smallest value in a data set.
Use this function to return values with a particular relative standing in a data set.
If n is the number of data points in array, SMALL(array,1) equals the smallest value,
and SMALL(array,n) equals the largest value.
</string>
<string key="summary">&lt;p&gt; This function computes the k-th smallest value in a data set.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
<map>
<string key="name">k</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The position (from the smallest) in the sequence of data to return. Must have value between 1 and size of sequence.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The k-th smallest value of $numbers.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if the sequence is zero length.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if $k is not a value between 1 and the size of sequence.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">standardize</string>
<string key="qname">excel:standardize</string>
<string key="signature">($x as xs:anyAtomicType, $mean as xs:anyAtomicType, $standard_dev as xs:anyAtomicType) as xs:double</string>
<string key="description"> Returns a normalized value from a distribution characterized by mean and standard_dev.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is (x - mean) / standard_dev .
</string>
<string key="summary">&lt;p&gt; Returns a normalized value from a distribution characterized by mean and standard_dev.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">x</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the value you want to normalize&lt;/div&gt;</string>
</map>
<map>
<string key="name">mean</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the arithmetic mean of the distribution.&lt;/div&gt;</string>
</map>
<map>
<string key="name">standard_dev</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the standard deviation of the distribution.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:double</string>
<string key="description">The normalized x, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if any parameter cannot be casted to numeric&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Num if standard_dev is a value smaller than zero or equal&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">var</string>
<string key="qname">excel:var</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Estimates variance based on a sample.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / (n - 1).&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
average_x is computed with AVERAGE function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
n is the count of numbers from the sequence, excluding empty values.
</string>
<string key="summary">&lt;p&gt; Estimates variance based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">vara</string>
<string key="qname">excel:vara</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Estimates variance based on a sample.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / (n - 1).&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
average_x is computed with AVERAGE function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
n is the size of sequence, including empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Estimates variance based on a sample.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">varp</string>
<string key="qname">excel:varp</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Calculates variance based on the entire population.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / n.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
average_x is computed with AVERAGE function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
n is the count of numbers from the sequence, excluding empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Calculates variance based on the entire population.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">varpa</string>
<string key="qname">excel:varpa</string>
<string key="signature">($numbers as xs:anyAtomicType+) as xs:anyAtomicType</string>
<string key="description"> Calculates variance based on the entire population.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
The formula is sum(x - average_x)^2 / n.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
average_x is computed with AVERAGE function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
n is the size of sequence, including empty values.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
</string>
<string key="summary">&lt;p&gt; Calculates variance based on the entire population.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">numbers</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of numbers or values castable to numeric. The sequence can be of any length, from 1 up.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The variance, as numeric type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the parameters cannot be casted to numeric type&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://www.zorba-xquery.com/modules/languages/xslt">
<string key="ns">http://www.zorba-xquery.com/modules/languages/xslt</string>
<string key="description"> This module provides XSLT 1.0 transformation functionality.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;For details on XSLT see
&lt;a href="http://www.w3.org/TR/xslt"&gt;XSLT 1.0 specification&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module implements the invoking of an XSLT transformation from XQuery
described in &lt;a href="http://lists.w3.org/Archives/Member/w3c-xsl-wg/2008Apr/0052.html"&gt;
Michael Kay's proposal&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example:
&lt;pre class="ace-static" ace-mode="xquery"&gt;import module namespace
xslt = "http://www.zorba-xquery.com/modules/languages/xslt";
let $source :=
&amp;lt;catalog&amp;gt;
&amp;lt;cd&amp;gt;
&amp;lt;title&amp;gt;Empire Burlesque&amp;lt;/title&amp;gt;
&amp;lt;artist&amp;gt;Bob Dylan&amp;lt;/artist&amp;gt;
&amp;lt;country&amp;gt;USA&amp;lt;/country&amp;gt;
&amp;lt;company&amp;gt;Columbia&amp;lt;/company&amp;gt;
&amp;lt;price&amp;gt;10.90&amp;lt;/price&amp;gt;
&amp;lt;year&amp;gt;1985&amp;lt;/year&amp;gt;
&amp;lt;/cd&amp;gt;
&amp;lt;cd&amp;gt;
&amp;lt;title&amp;gt;Hide your heart&amp;lt;/title&amp;gt;
&amp;lt;artist&amp;gt;Bonnie Tyler&amp;lt;/artist&amp;gt;
&amp;lt;country&amp;gt;UK&amp;lt;/country&amp;gt;
&amp;lt;company&amp;gt;CBS Records&amp;lt;/company&amp;gt;
&amp;lt;price&amp;gt;9.90&amp;lt;/price&amp;gt;
&amp;lt;year&amp;gt;1988&amp;lt;/year&amp;gt;
&amp;lt;/cd&amp;gt;
&amp;lt;/catalog&amp;gt;
let $stylesheet :=
&amp;lt;xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&amp;gt;
&amp;lt;xsl:template match="/"&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h2&amp;gt;Music Collection&amp;amp;lt;/h2&amp;gt;
&amp;lt;table border="1"&amp;gt;
&amp;lt;tr bgcolor="lightblue"&amp;gt;
&amp;lt;th&amp;gt;Title&amp;amp;lt;/th&amp;gt;
&amp;lt;th&amp;gt;Artist&amp;amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;xsl:for-each select="catalog/cd"&amp;gt;
&amp;lt;tr&amp;gt;
&amp;lt;td&amp;gt;&amp;amp;lt;xsl:value-of select="title"/&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;td&amp;gt;&amp;amp;lt;xsl:value-of select="artist"/&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/xsl:for-each&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&amp;lt;/xsl:template&amp;gt;
&amp;lt;/xsl:stylesheet&amp;gt;
return
xslt:transform( $source, $stylesheet)&lt;/pre&gt;&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Cezar Andrei&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/languages/xslt</string>
<string key="prefix">xslt</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">transform</string>
<string key="qname">xslt:transform</string>
<string key="signature">($source as node(), $stylesheet as node()) as node() external</string>
<string key="description">&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Invokes an XSLT transformation.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt;Invokes an XSLT transformation.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">source</string>
<string key="type">node()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the input document to the transformation&lt;/div&gt;</string>
</map>
<map>
<string key="name">stylesheet</string>
<string key="type">node()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the XSLT stylesheet module&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">node()</string>
<string key="description">the result tree produced by the transformation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;xslt:XSLT001 if $stylesheet is not a valid XSLT stylesheet&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;xslt:XSLT002 if result can not be imported&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/data-cleaning/phonetic-string-similarity">
<string key="ns">http://zorba.io/modules/data-cleaning/phonetic-string-similarity</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This library module provides phonetic string similarity functions, comparing strings with basis on how they sound.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;These metrics are particularly effective in matching names, since names are often spelled in different
ways that sound the same.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The logic contained in this module is not specific to any particular XQuery implementation.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Bruno Martins&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/data-cleaning/phonetic-string-similarity</string>
<string key="prefix">simp</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">metaphone-key</string>
<string key="qname">simp:metaphone-key</string>
<string key="signature">($s1 as xs:string) as xs:string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Metaphone key for a given string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The Metaphone algorithm produces variable length keys as its output, as opposed to Soundex's fixed-length keys.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;metaphone-key("ALEKSANDER")&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;"ALKSNTR"&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Metaphone key for a given string.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">The Metaphone key for the given input string.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">metaphone</string>
<string key="qname">simp:metaphone</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string) as xs:boolean</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Checks if two strings have the same Metaphone key.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;metaphone("ALEKSANDER", "ALEXANDRE")&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;true&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Checks if two strings have the same Metaphone key.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">Returns true if both strings have the same Metaphone key and false otherwise.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">soundex-key</string>
<string key="qname">simp:soundex-key</string>
<string key="signature">($s1 as xs:string) as xs:string</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns the Soundex key for a given string.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;soundex-key("Robert")&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;"R163"&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns the Soundex key for a given string.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">The Soundex key for the given input string.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">soundex</string>
<string key="qname">simp:soundex</string>
<string key="signature">($s1 as xs:string, $s2 as xs:string) as xs:boolean</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Checks if two strings have the same Soundex key.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Example usage : &lt;pre class="ace-static" ace-mode="xquery"&gt;soundex( "Robert" , "Rupert" )&lt;/pre&gt;&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The function invocation in the example above returns : &lt;pre class="ace-static" ace-mode="xquery"&gt;true&lt;/pre&gt;&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Checks if two strings have the same Soundex key.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">s1</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The first string.&lt;/div&gt;</string>
</map>
<map>
<string key="name">s2</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The second string.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">Returns true if both strings have the same Soundex key and false otherwise.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://www.28msec.com/modules/collections">
<string key="ns">http://www.28msec.com/modules/collections</string>
<string key="description"> This module provides functions to work with collections. For example,
it contains functions to retrieve the content of a collection or the
names of all collections.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The module is always imported so you don't need to import it explicitly.
Also, you don't need to fully qualify a function to invoke it.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors"/>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
<map>
<string key="uri">http://zorba.io/errors</string>
<string key="prefix">zerr</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">apply-insert</string>
<string key="qname">db:apply-insert</string>
<string key="signature">($name as string, $content as item()*) as item()* external</string>
<string key="description"> This function does the same as the insert function and it immediately applies
the resulting pending updates and returns the items that have been inserted.
Note that each item in the content sequence is copied before insertion. This
function provides an efficient way to retrieve the actual copies that have
been inserted.
</string>
<string key="summary">&lt;p&gt; This function does the same as the insert function and it immediately applies
the resulting pending updates and returns the items that have been inserted.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection to which the items should be added.&lt;/div&gt;</string>
</map>
<map>
<string key="name">content</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequences of items whose copies should be added to the collection.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The result of the function is the sequence of items that have been inserted into the collection.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by &lt;tt&gt;$name&lt;/tt&gt; does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDTY0001 if any of the items in the $content do not match the expected type (as specified in the collection declaration) or are not XML documents, XML elements, JSON objects, or JSON arrays.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">available-collections</string>
<string key="qname">db:available-collections</string>
<string key="signature">() as string* external</string>
<string key="description"> Return the names of all existing collections.
</string>
<string key="summary">&lt;p&gt; Return the names of all existing collections.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">string*</string>
<string key="description">The names of all existing collections.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">collection-name</string>
<string key="qname">db:collection-name</string>
<string key="signature">($o as item()) as string external</string>
<string key="description"> The collection-name function returns the name of the containing collection
of the given item.
</string>
<string key="summary">&lt;p&gt; The collection-name function returns the name of the containing collection
of the given item.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">o</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The item for which to get the name of the collection.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">string</string>
<string key="description">The name of the containing collection.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0011 if the given item does not belong to a collection.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">collection</string>
<string key="qname">db:collection</string>
<string key="signature">($name as string) as item()* external</string>
<string key="description"> The collection function returns the sequence of items that belong
to the collection identified by the given name.
Please note that the order of the items returned is not deterministic,
i.e. it might change between invocations. You can use
&lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;db:collection($name, 0)&lt;/tt&gt; to get a deterministic order.
</string>
<string key="summary">&lt;p&gt; The collection function returns the sequence of items that belong
to the collection identified by the given name.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The content of the collection.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by $name does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">collection</string>
<string key="qname">db:collection</string>
<string key="signature">($name as string, $skip as integer) as item()* external</string>
<string key="description"> The collection function returns the sequence of items that belong to
the collection identified
by the given name. The skip parameter allows to (efficiently) skip
a given number of items.
Note that the collections are generally unordered. However, there
is an implicit deterministic ordering (i.e. sorting by the _id field
in MongoDB) that is used by this function. This ordering is not present
for the &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;db:collection#1&lt;/tt&gt; function. In order to return items with
a stable ordering, db:collection($name, 0) can be used.
</string>
<string key="summary">&lt;p&gt; The collection function returns the sequence of items that belong to
the collection identified
by the given name.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection.&lt;/div&gt;</string>
</map>
<map>
<string key="name">skip</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of items to skip starting from the beginning.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The content of the collection starting at the &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$skip&lt;/tt&gt;+1 item.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by $name does not exist&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">collection</string>
<string key="qname">db:collection</string>
<string key="signature">($name as string, $start as string, $skip as integer) as item()* external</string>
<string key="description"> The collection function returns the sequence of items that belong to
the collection identified
by the given name. The start parameter is a reference and determines
the first item to return. The skip parameter allows to (efficiently) skip
a given number of items starting at the item referenced by &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$start&lt;/tt&gt;.
The start parameter is useful for efficiently implementing pagination.
Note that the collections are generally unordered. However, there
is an implicit deterministic ordering (i.e. sorting by the _id field
in MongoDB) that is used by this function. This ordering is not present
for the &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;db:collection#1&lt;/tt&gt; function. In order to return items with
a stable ordering, db:collection($name, $start, 0) can be used.
Example:
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
import module namespace ref = "http://zorba.io/modules/reference";
let $ref := ref:reference(db:collection("test", 1)[1])
return
db:collection("test", $ref, 1)
&lt;/pre&gt;
</string>
<string key="summary">&lt;p&gt; The collection function returns the sequence of items that belong to
the collection identified
by the given name.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection.&lt;/div&gt;</string>
</map>
<map>
<string key="name">start</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The reference to the first item to return.&lt;/div&gt;</string>
</map>
<map>
<string key="name">skip</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The number of collection items to skip.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The content of the collection starting at the item referenced by &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$start&lt;/tt&gt; and skipping &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$skip&lt;/tt&gt; items.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by &lt;tt&gt;$name&lt;/tt&gt; does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 If the given reference $start is not a valid reference.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZSTR0066 if the given reference $start does not reference an item of this collection.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">create</string>
<string key="qname">db:create</string>
<string key="signature">($name as string) external</string>
<string key="description"> The create function is an updating function that creates
a new collection with the given name.
It is not possible to create collections that start with
"system." or "_28" (zerr:ZDDY1000).
Collections are identified by a name (string). Names are not allowed to
contain the &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$&lt;/tt&gt; sign or exceed the length of 70 characters.
This is consistent with the restrictions for names of collections in MongoDB.
</string>
<string key="summary">&lt;p&gt; The create function is an updating function that creates
a new collection with the given name.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection to create.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of the function is an empty XDM instance and a pending update list which, once applied, creates a collection with the given name.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0002 if a collection with the given name already exists.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY1000 if the given name is not a legal collection name&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">create</string>
<string key="qname">db:create</string>
<string key="signature">($name as string, $content as item()*) external</string>
<string key="description"> The create function is an updating function which creates
a new collection with the given name. Moreover, it adds copies
of the sequence &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$content&lt;/tt&gt; to the new collection.
It is not possible to create collections that start with
"system." or "_28" (zerr:ZDDY1000).
Collections are identified by a name (string). Names are not allowed to
contain the &lt;tt xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;$&lt;/tt&gt; sign or exceed the length of 70 characters.
This is consistent with the restrictions for names of collections in MongoDB.
</string>
<string key="summary">&lt;p&gt; The create function is an updating function which creates
a new collection with the given name.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string of the collection to create.&lt;/div&gt;</string>
</map>
<map>
<string key="name">content</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequences of items that should be added to the new collection.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of the function is an empty XDM instance and a pending update list which, once applied, creates a collection with the given name and inserts the given items into it.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0002 if a collection with the given name already exists.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDTY0001 if any of the items in the $content do not match the expected type (as specified in the collection declaration) or are not XML documents, XML elements, JSON objects, or JSON arrays.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY1000 if the given name is not a legal collection name&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">delete</string>
<string key="qname">db:delete</string>
<string key="signature">($target as item()*) external</string>
<string key="description"> The delete function is an updating function that deletes zero or more items
(JSON objects, JSON arrays, or XML nodes) from a collection.
Please note that the all of the items belong to the same collection
(zerr:ZDDY0011).
</string>
<string key="summary">&lt;p&gt; The delete function is an updating function that deletes zero or more items
(JSON objects, JSON arrays, or XML nodes) from a collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">target</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the items that should be deleted from the containing collection.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of this function is an empty XDM instance and a pending update list which, once applied, deletes the items from the collections.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by &lt;tt&gt;$name&lt;/tt&gt; does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0011 if any item in the &lt;tt&gt;$target&lt;/tt&gt; sequence is not a member of a collection or not all items belong to the same collection.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">drop</string>
<string key="qname">db:drop</string>
<string key="signature">($name as string) external</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">edit</string>
<string key="qname">db:edit</string>
<string key="signature">($target as item(), $content as item()) external</string>
<string key="description"> The edit function is an updating function that edits the first supplied
item so as to make it look exactly like a copy of the second supplied item,
while retaining its original identity.
</string>
<string key="summary">&lt;p&gt; The edit function is an updating function that edits the first supplied
item so as to make it look exactly like a copy of the second supplied item,
while retaining its original identity.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">target</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The target item, that must be edited.&lt;/div&gt;</string>
</map>
<map>
<string key="name">content</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The content item, that serves as an edit goal.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of the function is an empty XDM instance and a pending update list which, once applied, performs the edit.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0017 if the $target item is not a member of a collection.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0040 if the target cannot be updated to match the content (for example because the target is a node and the content is an object).&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDTY0001 if $content does not match the expected type (as specified in the collection declaration) according to the rules for SequenceType Matching.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">index-keys</string>
<string key="qname">db:index-keys</string>
<string key="signature">($index-name as string) as array()* external</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index-name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">array()*</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">insert</string>
<string key="qname">db:insert</string>
<string key="signature">($name as string, $content as item()*) external</string>
<string key="description"> The insert function is an updating function that inserts copies of the given
items into a collection.
</string>
<string key="summary">&lt;p&gt; The insert function is an updating function that inserts copies of the given
items into a collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection to which the items should be added.&lt;/div&gt;</string>
</map>
<map>
<string key="name">content</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequences of items whose copies should be added.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of the function is an empty XDM instance and a pending update list which, once applied, inserts the items into the collection.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by &lt;tt&gt;$name&lt;/tt&gt; does not exist.&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDTY0001 if any of the items in the $content do not match the expected type (as specified in the collection declaration) or are not XML documents, XML elements, JSON objects, or JSON arrays.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-available-collection</string>
<string key="qname">db:is-available-collection</string>
<string key="signature">($name as string) as boolean external</string>
<string key="description"> Determine if the collection with the given name exists.
</string>
<string key="summary">&lt;p&gt; Determine if the collection with the given name exists.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string of the collection in question.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">boolean</string>
<string key="description">true if collection with the given name exists, false otherwise.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">2</number>
<string key="name">lookup</string>
<string key="qname">db:lookup</string>
<string key="signature">($index-name as string, $key as item()) as item()* external</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index-name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">key</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">3</number>
<string key="name">lookup</string>
<string key="qname">db:lookup</string>
<string key="signature">($index-name as string, $keys as item(), $skip as integer) as item()* external</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index-name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">keys</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">skip</string>
<string key="type">integer</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">false</boolean>
<number key="arity">1</number>
<string key="name">refresh</string>
<string key="qname">db:refresh</string>
<string key="signature">($index-name as string) external</string>
<string key="description"/>
<string key="summary"/>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">index-name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description"/>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">truncate</string>
<string key="qname">db:truncate</string>
<string key="signature">($name as string) external</string>
<string key="description"> The truncate function is an updating function that deletes the
entire content of a given collection.
Please note that applying this function can not be undone in case
an error happens during the application of the containing PUL.
</string>
<string key="summary">&lt;p&gt; The truncate function is an updating function that deletes the
entire content of a given collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">name</string>
<string key="type">string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The name of the collection whose content to delete.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of this function is an empty XDM instance and a pending update list which, once applied, deletes the nodes.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZDDY0003 if the collection identified by &lt;tt&gt;$name&lt;/tt&gt; does not exist.&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://expath.org/ns/http-client">
<string key="ns">http://expath.org/ns/http-client</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
This module provides an implementation of the
&lt;a href="http://expath.org/modules/http-client/"&gt;EXPath Http Client&lt;/a&gt;.
It provides functions for making HTTP requests and is a superset of the
module specified by EXPath.
Specifically, it implements the &lt;code&gt;http:send-request()&lt;/code&gt; functions
as specified by EXPath. Moreover, it adds an additional function
&lt;code&gt;http:read()&lt;/code&gt; (with several arities for the sake of ease).
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
In general, both functions take a description of the HTTP request to make
as parameter, execute the request, and return a representation of the HTTP
response. For instance, in the following code snippet, we fetch the Zorba
home page:
&lt;/p&gt;
&lt;pre xmlns:xqdoc="http://www.xqdoc.org/1.0" class="ace-static" ace-mode="xquery"&gt;import module namespace http = "http://expath.org/ns/http-client";
http:send-request(
&amp;lt;http:request href="http://zorba.io" method="get" /&amp;gt;
)
&lt;/pre&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
The &lt;code&gt;http:send-request()&lt;/code&gt; functions are declared as sequential.
Sequential functions are allowed to have side effects. For example, most probably,
an HTTP POST request is a request that has side effects because it adds/changes
a remote resource. Sequential functions are specified in the
&lt;a href="http://zorba.io/documentation/2.9/zorba/scripting_tutorial.html"&gt;XQuery Scripting Extension&lt;/a&gt;.
In contrast, the http:read() functions are not declared as sequential -
they are declared as being non deterministic though, which
means that several calls may return different results.
HTTP requests performed using these functions are &lt;b&gt;not&lt;/b&gt; allowed to have
side effects.
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
The response is returned as a sequence of one or more items. The first
one is an &lt;code&gt;http:response&lt;/code&gt; element with quite the same
structure as an http:request, but without the content itself.
The content is returned as the second item (or several items in case of
a multipart response) as a string, a document node, or a binary item.
This depends on the content-type returned.
Specifically, the rules are as follows:
&lt;ul&gt;
&lt;li&gt;A document node is returned if the media type has a MIME type of
text/xml, application/xml, text/xml-external-parsed-entity, or
application/xml-external-parsed-entity, as defined in [RFC 3023]
(except that application/xml-dtd is considered a text media type).
MIME types ending by +xml are also XML media types.&lt;/li&gt;
&lt;li&gt;A document node is returned if the media type has a MIME type of
text/html. In order to be able to make HTML parseable, tidy is automatically
invoked. If you want to prevent that, you can also set your own content-type
by setting the override-media-type attribute in the request element.
For tidying, the following &lt;a href="http://tidy.sourceforge.net/docs/quickref.html"&gt;options&lt;/a&gt;
will be used:
&lt;ul&gt;
&lt;li&gt;TidyXmlOut=yes&lt;/li&gt;
&lt;li&gt;TidyDoctypeMode=TidyDoctypeOmit&lt;/li&gt;
&lt;li&gt;TidyQuoteNbsp=yes&lt;/li&gt;
&lt;li&gt;TidyCharEncoding="utf8"&lt;/li&gt;
&lt;li&gt;TidyNewline="LF"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;An xs:string item is returned if the media type has a text MIME type,
i.e. beginning with text/.&lt;/li&gt;
&lt;li&gt;An xs:base64Binary item is returned for all the other media types.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
The structure of a request element is defined in the schema that is imported
by this module. The details are described in the
&lt;a href="http://expath.org/spec/http-client#d2e183"&gt;specification&lt;/a&gt;.
Analogously, the response element is also described in this
&lt;a href="http://expath.org/spec/http-client#d2e491"&gt;specification&lt;/a&gt;.
&lt;/p&gt;
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://www.w3.org/TR/xquery-3/#FunctionDeclns"&gt;XQuery 3.0: Function Declaration&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Federico Cavalieri, Markus Pilman&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://expath.org/ns/error</string>
<string key="prefix">err</string>
</map>
<map>
<string key="uri">http://expath.org/ns/http-client</string>
<string key="prefix">http</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/http-client-wrapper</string>
<string key="prefix">http-wrapper</string>
</map>
<map>
<string key="uri">http://expath.org/ns/http-client</string>
<string key="prefix">https</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/converters/html</string>
<string key="prefix">tidy</string>
</map>
<map>
<string key="uri">http://www.zorba-xquery.com/modules/converters/html-options</string>
<string key="prefix">tidy-options</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">send-request</string>
<string key="qname">http:send-request</string>
<string key="signature">($request as element(*)) as item()+</string>
<string key="description"> Function for convenience.
Calling this function is equivalent to calling
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
http:send-request($request, (), ())
&lt;/code&gt;
</string>
<string key="summary">&lt;p&gt; Function for convenience.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">request</string>
<string key="type">element(*)</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; see request parameter of the sequential &lt;a href="#send-request-3"&gt;send-request&lt;/a&gt; function with three parameters.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()+</string>
<string key="description">see return value of the sequential &lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="#send-request-3"&gt;send-request&lt;/a&gt; function with three parameters.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">send-request</string>
<string key="qname">http:send-request</string>
<string key="signature">($request as element(*)?, $href as xs:string?) as item()+</string>
<string key="description"> Function for convenience.
Calling this function is equivalent to calling
&lt;code xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
http:send-request($request, $href, ())
&lt;/code&gt;
</string>
<string key="summary">&lt;p&gt; Function for convenience.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">request</string>
<string key="type">element(*)</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; see request parameter of the sequential &lt;a href="#send-request-3"&gt;send-request&lt;/a&gt; function with three parameters.&lt;/div&gt;</string>
</map>
<map>
<string key="name">href</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; see href parameter of the sequential &lt;a href="#send-request-3"&gt;send-request&lt;/a&gt; function with three parameters.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()+</string>
<string key="description">see return of &lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="#send-request-3"&gt;send-request&lt;/a&gt;</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">send-request</string>
<string key="qname">http:send-request</string>
<string key="signature">($request as element(*)?, $href as xs:string?, $bodies as item()*) as item()+</string>
<string key="description"> This function sends an HTTP request and returns the corresponding response.
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
This function is declared as sequential (see XQuery Scripting).
Sequential functions are allowed to have side effects. For example, most probably,
an HTTP POST request is a request that has side effects because it adds/changes
a remote resource.
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; This function sends an HTTP request and returns the corresponding response.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">request</string>
<string key="type">element(*)</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; Contains the various parameters of the request. See the &lt;a href="http://expath.org/spec/http-client#d2e183"&gt;specification&lt;/a&gt;. for a full description of the structure of this element.&lt;/div&gt;</string>
</map>
<map>
<string key="name">href</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; is the HTTP or HTTPS URI to send the request to. It must be a valid xs:anyURI, but is declared as a string to be able to pass literal strings (without requiring to explicitly cast it to an xs:anyURI.)&lt;/div&gt;</string>
</map>
<map>
<string key="name">bodies</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">item()+</string>
<string key="description">a sequence of items, where the first item is a element of type http:responseType. The response element is also described in the &lt;a xmlns:xqdoc="http://www.xqdoc.org/1.0" href="http://expath.org/spec/http-client#d2e483"&gt;specification&lt;/a&gt;. If there is one (or several, in case of multipart) response body, the response bodies are the next items in the sequence.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/schema">
<string key="ns">http://zorba.io/modules/schema</string>
<string key="description"> This module provides function that are related to XML Schema support
in Zorba.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Cezar Andrei, Matthias Brantner&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/schema</string>
<string key="prefix">schema</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-validated</string>
<string key="qname">schema:is-validated</string>
<string key="signature">($node as node()) as xs:boolean external</string>
<string key="description"> This function returns true if the given node has been validated,
and false otherwise.
</string>
<string key="summary">&lt;p&gt; This function returns true if the given node has been validated,
and false otherwise.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">node</string>
<string key="type">node()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the node item that should be checked for validation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the given node has been validated, false otherwise.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">schema-type</string>
<string key="qname">schema:schema-type</string>
<string key="signature">($item as item()) as xs:QName? external</string>
<string key="description"> This function returns the name of the type of the item passed
as parameter.
</string>
<string key="summary">&lt;p&gt; This function returns the name of the type of the item passed
as parameter.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">item</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the item from which the name of the type should be returned.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:QName?</string>
<string key="description">the name of the type (as QName) of the item passed as parameter.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">validate-in-place</string>
<string key="qname">schema:validate-in-place</string>
<string key="signature">($node as node()) external</string>
<string key="description"> Updating function that validates the document in place. After the updating
query is applied the $node will contain the validated content.
</string>
<string key="summary">&lt;p&gt; Updating function that validates the document in place.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">true</boolean>
<array key="parameters">
<map>
<string key="name">node</string>
<string key="type">node()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the document or element to be validated, otherwise error&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<null key="type"/>
<string key="description">The result of the function is an empty XDM instance and a pending update list that consists the schema:validate-in-place($node)) primitive.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://www.28msec.com/modules/mongodb">
<string key="ns">http://www.28msec.com/modules/mongodb</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides a driver to access a
&lt;a href="http://www.mongodb.org/"&gt;MongoDB&lt;/a&gt; database - similar to
drivers for other high-level languages like e.g.
&lt;a href="http://api.mongodb.org/python/current/"&gt;PyMongo&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Here is a simple example of how we can raise the salary of each
developer by 10%.
Starting with an &lt;em&gt;employees&lt;/em&gt; collection in MongoDB that contains
&lt;pre&gt;
{ "name" : "Peter", "role" : "developer" , "salary" : 80 }
{ "name" : "Paul", "role" : "developer" , "salary" : 75 }
{ "name" : "Mary", "role" : "manager" , "salary" : 90 } &lt;/pre&gt;
we can get a connection
&lt;pre&gt;
variable $conn := mongo:connect("hostname", 27017, "db", "user", "password");
&lt;/pre&gt;
run this update
&lt;pre&gt;
for $emp in mongo:find($conn, "employees")
where $emp("role") = "developer"
let $salary := $emp("salary")
return {
replace value of json $emp("salary") with $salary * 1.1;
mongo:save($conn, "employees", $emp)
};
&lt;/pre&gt;
and get the names and the current salaries using
&lt;pre&gt;
mongo:find($conn, "employees", {}, { "_id" : false, "role" : false }, {}) &lt;/pre&gt;
In this query we have removed the &lt;em&gt;_id&lt;/em&gt; and &lt;em&gt;role&lt;/em&gt; fields from
the results and get
&lt;pre&gt;
{ "name" : "Peter", "salary" : 88 }
{ "name" : "Paul", "salary" : 82.5 }
{ "name" : "Mary", "salary" : 90 }
&lt;/pre&gt;
&lt;/p&gt;
&lt;h2 xmlns:xqdoc="http://www.xqdoc.org/1.0" id="determinism"&gt;Important Notice Regarding Function Determinism&lt;/h2&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The non side-effecting functions:
&lt;ul&gt;
&lt;li&gt;&lt;a href="?anchor=connect-0"&gt;connect#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-1"&gt;connect#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-2"&gt;connect#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-5"&gt;connect#5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=collection-names-1"&gt;collection-names#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=count-2"&gt;count#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=count-3"&gt;count#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-2"&gt;find#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-3"&gt;find#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-4"&gt;find#4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-5"&gt;find#5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
are declared deterministic, which means that their results could be cached
when invoked multiple times with the same arguments in the same query execution.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;To not use cached results you can use the following alternative functions:
&lt;ul&gt;
&lt;li&gt;&lt;a href="?anchor=connect-nondeterministic-0"&gt;connect-nondeterministic#0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-nondeterministic-1"&gt;connect-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-nondeterministic-2"&gt;connect-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=connect-nondeterministic-5"&gt;connect-nondeterministic#5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=collection-names-nondeterministic-1"&gt;collection-names-nondeterministic#1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=count-nondeterministic-2"&gt;count-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=count-nondeterministic-3"&gt;count-nondeterministic#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-nondeterministic-2"&gt;find-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-nondeterministic-3"&gt;find-nondeterministic#3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-nondeterministic-4"&gt;find-nondeterministic#4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=find-nondeterministic-5"&gt;find-nondeterministic#5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
which have been declared as being non deterministic.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Three different functions have been defined to run mongo commands:
&lt;ul&gt;
&lt;li&gt;&lt;a href="?anchor=run-cmd-2"&gt;run-cmd#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=run-cmd-nondeterministic-2"&gt;run-cmd-nondeterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="?anchor=run-cmd-deterministic-2"&gt;run-cmd-deterministic#2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
If your application depends on the ordering of side-effects from commands issued
through these functions you should use &lt;a href="?anchor=run-cmd-2"&gt;run-cmd#2&lt;/a&gt;,
which has been declared as sequential.
For non-side-effecting commands you can also use
&lt;a href="?anchor=run-cmd-nondeterministic-2"&gt;run-cmd-nondeterministic#2&lt;/a&gt; and
&lt;a href="?anchor=run-cmd-deterministic-2"&gt;run-cmd-deterministic#2&lt;/a&gt;.
The results of commands executed by means of
&lt;a href="?anchor=run-cmd-deterministic-2"&gt;run-cmd-deterministic#2&lt;/a&gt; (which is
declared &lt;i&gt;deterministic&lt;/i&gt;) could be cached, whereas the results of
commands executed by means of
&lt;a href="?anchor=run-cmd-nondeterministic-2"&gt;run-cmd-nondeterministic#2&lt;/a&gt; (which is
declared &lt;i&gt;non-deterministic&lt;/i&gt;) are never cached.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;28msec&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/annotations</string>
<string key="prefix">an</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/credentials</string>
<string key="prefix">credentials</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/mongodb/types</string>
<string key="prefix">m-schema</string>
</map>
<map>
<string key="uri">http://www.28msec.com/modules/mongodb</string>
<string key="prefix">mongo</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">collection-names-nondeterministic</string>
<string key="qname">mongo:collection-names-nondeterministic</string>
<string key="signature">($db as xs:anyURI) as xs:string* external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Get a list of all the collection names in this database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as
&lt;a href="#collection-names-1"&gt;collection-names#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Get a list of all the collection names in this database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string*</string>
<string key="description">a list of the names of all collection in the given database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">collection-names</string>
<string key="qname">mongo:collection-names</string>
<string key="signature">($db as xs:anyURI) as xs:string* external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Get a list of all the collection names in this database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Get a list of all the collection names in this database.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string*</string>
<string key="description">a list of the names of all collection in the given database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">connect-nondeterministic</string>
<string key="qname">mongo:connect-nondeterministic</string>
<string key="signature">() as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to this project's default MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#connect-0"&gt;connect#0&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to this project's default MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">connect-nondeterministic</string>
<string key="qname">mongo:connect-nondeterministic</string>
<string key="signature">($connection-config as item()) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#connect-1"&gt;connect#1&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">connection-config</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the connection specification.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO001 if the connection specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">connect-nondeterministic</string>
<string key="qname">mongo:connect-nondeterministic</string>
<string key="signature">($credentials-name as xs:string?, $options as object()) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#connect-2"&gt;connect#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials-name</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the credentials to use.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO001 if the connection specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">connect-nondeterministic</string>
<string key="qname">mongo:connect-nondeterministic</string>
<string key="signature">($host as xs:string, $port as xs:integer?, $db as xs:string, $user as xs:string?, $pass as xs:string?) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#connect-5"&gt;connect#5&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">host</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the host to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">port</string>
<string key="type">xs:integer</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the port to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">db</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the database to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">user</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the user used to authorize access to the db&lt;/div&gt;</string>
</map>
<map>
<string key="name">pass</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the password used to authorize access to the db&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">0</number>
<string key="name">connect</string>
<string key="qname">mongo:connect</string>
<string key="signature">() as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to this project's default MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to this project's default MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:strictlydeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">strictlydeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters"/>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">connect</string>
<string key="qname">mongo:connect</string>
<string key="signature">($connection-config as item()) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The $connection-config parameter is used to specify the connection information.
If a string is used, then the function will interpret it as the name of
a credential in the MongoDB category.
If an object is used, then the function will open a connection using it.
The object structure is the following:
&lt;ul&gt;
&lt;li&gt;host (string; mandatory)&lt;/li&gt;
&lt;li&gt;port (integer; default: 27017)&lt;/li&gt;
&lt;li&gt;db (string; mandatory)&lt;/li&gt;
&lt;li&gt;user (string)&lt;/li&gt;
&lt;li&gt;pass (string)&lt;/li&gt;
&lt;li&gt;timeout (decimal; default: 0)&lt;/li&gt;
&lt;li&gt;pre-digested (boolean; default: false)&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;For example, using stored credential:
&lt;pre&gt;mongo:connect("credentials-name")&lt;/pre&gt;
&lt;p&gt;For example, specifying the connection information:&lt;/p&gt;
&lt;pre&gt;mongo:connect(
{
"host": "hostname",
"port": 11011,
"db": "mydb",
"user": "myuser"
"password: "mypass"
})&lt;/pre&gt;.
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:strictlydeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">strictlydeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">connection-config</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the connection specification.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO001 if the connection specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">connect</string>
<string key="qname">mongo:connect</string>
<string key="signature">($credentials-name as xs:string?, $options as object()) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The $credentials-name parameter is used to specify the connection information.
If empty a connection will be opened to the project default MongoDB database.
Otherwise, the function will use it to identify a credential in the MongoDB category.
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The $options object can be used to specify connection options. The following
fields are supported:
&lt;ul&gt;
&lt;li&gt;timeout (decimal; default: 0)&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;For example, connecting to the project default MongoDB database:
&lt;pre&gt;mongo:connect((), {"timeout": 10})&lt;/pre&gt;
&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;For example, specifying the connection information:
&lt;pre&gt;mongo:connect("credentials-name", {"timeout": 10})&lt;/pre&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:strictlydeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">strictlydeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">credentials-name</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the credentials to use.&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the credentials to use.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO001 if the connection specification is invalid&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">connect</string>
<string key="qname">mongo:connect</string>
<string key="signature">($host as xs:string, $port as xs:integer?, $db as xs:string, $user as xs:string?, $pass as xs:string?) as xs:anyURI</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Connect to a MongoDB database.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Connect to a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:strictlydeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">strictlydeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">host</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the host to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">port</string>
<string key="type">xs:integer</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the port to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">db</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the database to connect to&lt;/div&gt;</string>
</map>
<map>
<string key="name">user</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the user used to authorize access to the db&lt;/div&gt;</string>
</map>
<map>
<string key="name">pass</string>
<string key="type">xs:string</string>
<string key="occurrence">?</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the password used to authorize access to the db&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">an identifier for a connection to the MongoDB database.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO002 connection to MongoDB failed&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO003 authentication to the MongoDB database failed&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">copy</string>
<string key="qname">mongo:copy</string>
<string key="signature">($db as xs:anyURI, $from-db as xs:string, $to-db as xs:string) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Copies a MongoDB database. Be aware, you must call
this function on the admin database.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Copies a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">from-db</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the source database&lt;/div&gt;</string>
</map>
<map>
<string key="name">to-db</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the target database&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if copy operation fails&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">count-nondeterministic</string>
<string key="qname">mongo:count-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string) as xs:integer external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Counts the number of documents in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#count-2"&gt;count#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Counts the number of documents in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">the said count</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">count-nondeterministic</string>
<string key="qname">mongo:count-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object()) as xs:integer external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Counts the number of documents satisfying the query in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#count-3"&gt;count#3&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Counts the number of documents satisfying the query in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query specifying which objects to count&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">the said count</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">count</string>
<string key="qname">mongo:count</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string) as xs:integer external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Counts the number of documents in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Counts the number of documents in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">the said count</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">count</string>
<string key="qname">mongo:count</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object()) as xs:integer external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Counts the number of documents satisfying the query in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Counts the number of documents satisfying the query in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query specifying which objects to count&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">the said count</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">disconnect</string>
<string key="qname">mongo:disconnect</string>
<string key="signature">($db as xs:anyURI) as empty-sequence() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Disconnect from a MongoDB database.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Disconnect from a MongoDB database.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">drop-collection</string>
<string key="qname">mongo:drop-collection</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string) as empty-sequence() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Drop a collection.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Drop a collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">find-nondeterministic</string>
<string key="qname">mongo:find-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns all objects of the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#find-2"&gt;find#2&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns all objects of the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all objects of the given collection</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">find-nondeterministic</string>
<string key="qname">mongo:find-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object()) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#find-3"&gt;find#3&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">find-nondeterministic</string>
<string key="qname">mongo:find-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $options as object()) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#find-4"&gt;find#4&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation (see find#5 for available options)&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">find-nondeterministic</string>
<string key="qname">mongo:find-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $projection as object(), $options as object()) as object()* external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function has the same semantics as &lt;a href="#find-5"&gt;find#5&lt;/a&gt;,
but is declared as being non deterministic and thus should only be used when
result caching is not desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
<map>
<string key="name">projection</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query or projection could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">find</string>
<string key="qname">mongo:find</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Returns all objects of the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Returns all objects of the given collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all objects of the given collection</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">find</string>
<string key="qname">mongo:find</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object()) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">find</string>
<string key="qname">mongo:find</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $options as object()) as object()*</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation (see find#5 for available options)&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">find</string>
<string key="qname">mongo:find</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $projection as object(), $options as object()) as object()* external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is declared as deterministic and should be used whenever result
caching is acceptable.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Available options:
&lt;ul&gt;
&lt;li&gt;to-return: the maximum number of objects to return (0 = unlimited)&lt;/li&gt;
&lt;li&gt;to-skip: start with the n-th object&lt;/li&gt;
&lt;li&gt;batch-size: the number of objects to return in one batch&lt;/li&gt;
&lt;li&gt;slave-ok: allow this query to be run against a replica secondary&lt;/li&gt;
&lt;li&gt;await-data: the server will block for some extra time before returning,
waiting for more data to return&lt;/li&gt;
&lt;li&gt;partial-results: return partial results if some shards are down instead
of returning an error&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a query operation on the given collection and
returns all matches.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query operation to perform&lt;/div&gt;</string>
</map>
<map>
<string key="name">projection</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">all matches returned by the given query operation</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given query or projection could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-connected</string>
<string key="qname">mongo:is-connected</string>
<string key="signature">($db as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Checks if the given identifiers is valid and the corresponding
connection is open.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Checks if the given identifiers is valid and the corresponding
connection is open.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the given connection identifier is valid and the corresponding connection is open, false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">remove</string>
<string key="qname">mongo:remove</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $remove as object()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a remove operation on the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The operation will be checked and an error is raised if
one of them fails.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a remove operation on the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">remove</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the remove command to be performed&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given document could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">remove</string>
<string key="qname">mongo:remove</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $remove as object(), $options as object()) as empty-sequence() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs a remove operation on the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
&lt;ul&gt;
&lt;li&gt;safe: If to true, the operation will wait for a response from
the database and an error is raised if the operation fails.
Otherwise, the operation will not wait for a response.&lt;/li&gt;
&lt;li&gt;just-one: true if the operation should stop after a single match
has been found and deleted&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs a remove operation on the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">remove</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the remove command to be performed&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given document could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">run-cmd-deterministic</string>
<string key="qname">mongo:run-cmd-deterministic</string>
<string key="signature">($db as xs:anyURI, $cmd as object()) as object() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Executes a
&lt;a href="http://docs.mongodb.org/manual/reference/commands/"&gt;database command&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is marked as deterministic and should be used whenever the
specified command has no side-effects and result caching is desired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Executes a
database command .&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">cmd</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the database command to execute&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">The result object. Typically has { ok : ..., errmsg : ... } fields set.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">run-cmd-nondeterministic</string>
<string key="qname">mongo:run-cmd-nondeterministic</string>
<string key="signature">($db as xs:anyURI, $cmd as object()) as object() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Executes a
&lt;a href="http://docs.mongodb.org/manual/reference/commands/"&gt;database command&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is marked as non-deterministic and should be used whenever the
specified command has no side-effects and result caching is undesired.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Executes a
database command .&lt;/p&gt;</string>
<string key="annotation_str"> %an:nondeterministic</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">nondeterministic</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">cmd</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the database command to execute&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">The result object. Typically has { ok : ..., errmsg : ... } fields set.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">run-cmd</string>
<string key="qname">mongo:run-cmd</string>
<string key="signature">($db as xs:anyURI, $cmd as object()) as object() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Executes a
&lt;a href="http://docs.mongodb.org/manual/reference/commands/"&gt;database command&lt;/a&gt;.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function is marked as sequential and should be used whenever the
specified command has side-effects.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Executes a
database command .&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">cmd</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the database command to execute&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">The result object. Typically has { ok : ..., errmsg : ... } fields set.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">save</string>
<string key="qname">mongo:save</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $doc as object()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Save a sequence of documents in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a document to be save already has an "_id" field, then an
upsert operation is performed an any existing document with that
id will be overwritten. Otherwise, an insert operation is performed
and the "_id" generated for each document will be returned.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Each safe operation will be checked and an error is raised if
one of them fails.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Save a sequence of documents in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">doc</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the document to be saved or upserted&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the documents that have been inserted with "_id" fields.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given document could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">save</string>
<string key="qname">mongo:save</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $doc as object(), $options as object()) as m-schema:oid? external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Save a sequence of documents in the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If a document to be saved already has an "_id" field, then an
upsert operation is performed and any existing document with that
id will be overwritten. Otherwise, an insert operation is performed.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the manipulate option is set to true, an "_id" field will be
added to the document. The new id will be returned. Otherwise,
the "_id" field will be added by the server.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the safe options is set to true, each operation will wait for a
response from the database and an error is raised if the operation
fails. Otherwise, the operation will not wait for a response.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Save a sequence of documents in the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">doc</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the document to be saved or upserted&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">m-schema:oid?</string>
<string key="description">a generated OID if the manipulate option was set to true, the empty sequence otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given document could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">4</number>
<string key="name">update</string>
<string key="qname">mongo:update</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $update as object()) as empty-sequence()</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs an update command on the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The operation will be checked and an error is raised if
one of them fails. Also, this function only modifies one
document matching the query and does not do any upserts.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs an update command on the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query to select the objects that are updated&lt;/div&gt;</string>
</map>
<map>
<string key="name">update</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the update specification to be performed&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given objects could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">update</string>
<string key="qname">mongo:update</string>
<string key="signature">($db as xs:anyURI, $coll as xs:string, $query as object(), $update as object(), $options as object()) as empty-sequence() external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Performs an update operation on the given collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;
&lt;ul&gt;
&lt;li&gt;safe: If to true, the operation will wait for a response from
the database and an error is raised if the operation fails.
Otherwise, the operation will not wait for a response.&lt;/li&gt;
&lt;li&gt;multi: indicates if all documents matching criteria should be updated
rather than just one.&lt;/li&gt;
&lt;li&gt;upsert: if this should be an "upsert" operation; that is,
if the record(s) do not exist, insert one. Upsert only inserts a single document.&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Performs an update operation on the given collection.&lt;/p&gt;</string>
<string key="annotation_str"> %an:sequential</string>
<array key="annotations">
<map>
<string key="prefix">an</string>
<string key="ns">http://zorba.io/annotations</string>
<string key="name">sequential</string>
<string key="value"/>
</map>
</array>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">db</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a database connection identifier&lt;/div&gt;</string>
</map>
<map>
<string key="name">coll</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the name of the collection&lt;/div&gt;</string>
</map>
<map>
<string key="name">query</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the query to select the objects that are updated&lt;/div&gt;</string>
</map>
<map>
<string key="name">update</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the update specification to be performed&lt;/div&gt;</string>
</map>
<map>
<string key="name">options</string>
<string key="type">object()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the options for this operation&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">empty-sequence()</string>
<string key="description">the function has side-effects and returns the empty sequence.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO004 invalid database identifier&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO005 if any mongodb error happens&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;mongo:MONGO006 if the given objects could not be converted to BSON&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://jsoniq.org/function-library">
<string key="ns">http://jsoniq.org/function-library</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides extensions to the JSONiq core function library.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The module is always imported so you do not need to import it explicitly.
Also, you do not need to fully qualify a function to invoke it.&lt;/p&gt;
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;http://jsoniq.org/&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Ghislain Fourny&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://jsoniq.org/functions</string>
<string key="prefix">jn</string>
</map>
<map>
<string key="uri">http://jsoniq.org/function-library</string>
<string key="prefix">libjn</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">accumulate</string>
<string key="qname">libjn:accumulate</string>
<string key="signature">($items as item()*) as object()</string>
<string key="description"> This function dynamically builds an object, like the {||} syntax, except that
it does not throw an error upon pair collision. Instead, it accumulates them
into an array, if more than one.
</string>
<string key="summary">&lt;p&gt; This function dynamically builds an object, like the {||} syntax, except that
it does not throw an error upon pair collision.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items, the objects of which are going to be accumulated into a single object.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">The accumulated object.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">descendant-arrays</string>
<string key="qname">libjn:descendant-arrays</string>
<string key="signature">($items as item()*) as array()*</string>
<string key="description"> This function returns all arrays contained at any depth within a sequence of items.
</string>
<string key="summary">&lt;p&gt; This function returns all arrays contained at any depth within a sequence of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">array()*</string>
<string key="description">The descendant arrays of the input sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">descendant-objects</string>
<string key="qname">libjn:descendant-objects</string>
<string key="signature">($items as item()*) as object()*</string>
<string key="description"> This function returns all objects contained at any depth within a sequence of items.
</string>
<string key="summary">&lt;p&gt; This function returns all objects contained at any depth within a sequence of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">The descendant objects of the input sequence.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">descendant-pairs-priv</string>
<string key="qname">libjn:descendant-pairs-priv</string>
<string key="signature">($i as item()) as object()*</string>
<string key="description"> Helper function for libjn:descendant-pairs()
</string>
<string key="summary">&lt;p&gt; Helper function for libjn:descendant-pairs()
&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">i</string>
<string key="type">item()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; An item&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">The descendant pairs of the item</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">descendant-pairs</string>
<string key="qname">libjn:descendant-pairs</string>
<string key="signature">($items as item()*) as object()*</string>
<string key="description"> This function returns all pairs contained at any depth within an sequence of items.
</string>
<string key="summary">&lt;p&gt; This function returns all pairs contained at any depth within an sequence of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">object()*</string>
<string key="description">All direct and indirect descendant pairs.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">intersect</string>
<string key="qname">libjn:intersect</string>
<string key="signature">($items as item()*) as object()</string>
<string key="description"> This function returns the intersection of the objects contained in the
given sequence of items, aggregating values corresponding to the same key
into an array.
</string>
<string key="summary">&lt;p&gt; This function returns the intersection of the objects contained in the
given sequence of items, aggregating values corresponding to the same key
into an array.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">object()</string>
<string key="description">The insersection of the objects contained in $items.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">values</string>
<string key="qname">libjn:values</string>
<string key="signature">($items as item()*) as item()*</string>
<string key="description"> This functions returns all values of all objects contained in a sequence of items.
</string>
<string key="summary">&lt;p&gt; This functions returns all values of all objects contained in a sequence of items.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">items</string>
<string key="type">item()</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; A sequence of items.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">item()*</string>
<string key="description">The values inside the objects of the sequence.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/node-position">
<string key="ns">http://zorba.io/modules/node-position</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This module provides a function (np:node-position) that, given a node,
returns positional information about the node in the form of an xs:anyURI
item. The module also defines functions that use such positional information
to determine: (1) positional relationships between two nodes (e.g. if one
is the ancestor of another) and (2) positional properties of a single node
(e.g. its level in the tree).&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Within this module, the term "node position" will be used to refer to an
xs:anyURI item that is returned by the np:node-position function.&lt;/p&gt;
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Federico Cavalieri, Markos Zaharioudakis&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/node-position</string>
<string key="prefix">np</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">ancestor-of</string>
<string key="qname">np:ancestor-of</string>
<string key="signature">($pos1 as xs:anyURI, $pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
an ancestor of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is an ancestor of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
an ancestor of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
<map>
<string key="name">pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is an ancestor of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">attribute-of</string>
<string key="qname">np:attribute-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
an attribute of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is an attribute of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
an attribute of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential parent node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential attribute node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is an attribute of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">child-of</string>
<string key="qname">np:child-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
a child of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is a child of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
a child of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential parent node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential child node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is a child of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">descendant-of</string>
<string key="qname">np:descendant-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
a descendant of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is a descendant of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
a descendant of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential ancestor node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential descendant node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is a descendant of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">following-in-document-order-of</string>
<string key="qname">np:following-in-document-order-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
following in document order the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is following in document order the
first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about
the positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
following in document order the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is following in document order the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">following-of</string>
<string key="qname">np:following-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
following the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is following the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
following the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if node positions $n-pos1 and $n-pos2 belong to the same XML tree and $n-pos2 is following the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">following-sibling-of</string>
<string key="qname">np:following-sibling-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
a following-sibling of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is a following-sibling of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
a following-sibling of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding-sibling node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following-sibling node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is a following-sibling of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">in-collection</string>
<string key="qname">np:in-collection</string>
<string key="signature">($n-pos as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position belongs to a collection.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position belongs to a collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos belongs to a collection; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">in-same-collection-of</string>
<string key="qname">np:in-same-collection-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether two node positions belong to the same collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the two nodes belong to the same collection.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about
the positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether two node positions belong to the same collection.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the two nodes whose node positions are $n-pos1 and $n-pos2 belong to the same collection.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">in-same-tree-of</string>
<string key="qname">np:in-same-tree-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether two node positions belong to the same tree.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the two nodes belong to the same tree.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about
the positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether two node positions belong to the same tree.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the two nodes whose node positions are $n-pos1 and $n-pos2 belong to the same tree.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">in-subtree-of</string>
<string key="qname">np:in-subtree-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument belongs
to the subtree rooted at the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node belongs to the subtree rooted at the
first. Otherwise, the result of the function does not imply anything about
the positional relationship of the two nodes.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;This function differs from np:descendant-of in the way it treats attribute
nodes. np:descendant-of follows the XQuery/XPath specification for the
descendant axis, and as a result, it does not consider attributes as
descendants of any nodes; it will always return false if $n-pos2 was
obtained from an attribute node.In contrast, np:in-subtree-of will return
true if $n-pos2 was obtained from an attribute node that appeared in the
subtree of the node that $n-pos1 was obtained from.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument belongs
to the subtree rooted at the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential subtree root node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential node in the subtree node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 belongs to the subtree rooted at the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-attribute</string>
<string key="qname">np:is-attribute</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to an attribute node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to an attribute node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to an attribute; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-comment</string>
<string key="qname">np:is-comment</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to a comment node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to a comment node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to an comment; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-document</string>
<string key="qname">np:is-document</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to a document node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to a document node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to a document; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-element</string>
<string key="qname">np:is-element</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to an element node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to an element node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to an element; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-processing-instruction</string>
<string key="qname">np:is-processing-instruction</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to an processing-instruction
node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to an processing-instruction
node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to a processing instruction; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">is-text</string>
<string key="qname">np:is-text</string>
<string key="signature">($n-pos1 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether a node position corresponds to a text node.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether a node position corresponds to a text node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description"/>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos corresponds to a text; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">level</string>
<string key="qname">np:level</string>
<string key="signature">($n-pos as xs:anyURI) as xs:integer external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Computes the level of a node position in its tree.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Note: The root node of a tree is at level one.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The result of the function applies to the corresponding node as well,
that is, within the snapshot in which the position was computed, the node
level is the returned one.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;The result of the function does not imply anything about the
node level in other snapshots.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Computes the level of a node position in its tree.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the node position of the node whose level should be determined.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:integer</string>
<string key="description">the level in the tree of the node position $n-pos as xs:integer.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">node-position</string>
<string key="qname">np:node-position</string>
<string key="signature">($arg as node()) as xs:anyURI external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Return a URI item containing positional information for a given node.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Within a snapshot, each has a different positional URI. However,
different nodes in different snapshots might have the same URI.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Return a URI item containing positional information for a given node.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">arg</string>
<string key="type">node()</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the node for which the positional information URI should be computed&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyURI</string>
<string key="description">the opaque positional information URI of the node.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">parent-of</string>
<string key="qname">np:parent-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
the parent of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is the parent of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
the parent of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential child node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential parent node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is the parent of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">preceding-in-document-order-of</string>
<string key="qname">np:preceding-in-document-order-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
preceding in document order the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is preceding in document order the
first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about
the positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
preceding in document order the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is preceding in document order the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">preceding-of</string>
<string key="qname">np:preceding-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
preceding the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is preceding the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
preceding the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if node positions $n-pos1 and $n-pos2 belong to the same XML tree and $n-pos2 is preceding the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">preceding-sibling-of</string>
<string key="qname">np:preceding-sibling-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether the node position given as second argument is
a preceding-sibling of the node position given as first argument.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is a preceding-sibling of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether the node position given as second argument is
a preceding-sibling of the node position given as first argument.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential following-sibling node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the potential preceding-sibling node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the node position $n-pos2 is a preceding-sibling of the node position $n-pos1; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">sibling-of</string>
<string key="qname">np:sibling-of</string>
<string key="signature">($n-pos1 as xs:anyURI, $n-pos2 as xs:anyURI) as xs:boolean external</string>
<string key="description"> &lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Determines whether two node positions are siblings.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;If the two positions were obtained within the same snapshot S, then the
result of the function applies to the corresponding nodes as well, that
is, within snapshot S, the second node is a sibling of the first.&lt;/p&gt;
&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Otherwise, the result of the function does not imply anything about the
positional relationship of the two nodes.&lt;/p&gt;
</string>
<string key="summary">&lt;p&gt; Determines whether two node positions are siblings.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">n-pos1</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
<map>
<string key="name">n-pos2</string>
<string key="type">xs:anyURI</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a node position&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:boolean</string>
<string key="description">true if the two node positions $n-pos1 and $n-pos2 are siblings; false otherwise.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;zerr:ZAPI0028 if one of the given URI is not a valid node position computed by the &lt;tt&gt;np:node-position&lt;/tt&gt; function.&lt;/xqdoc:error&gt;</string>
</array>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://www.zorba-xquery.com/modules/cryptography/hash">
<string key="ns">http://www.zorba-xquery.com/modules/cryptography/hash</string>
<string key="description"> This module provides functions that perform different hash operations.
</string>
<array key="sees"/>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Gabriel Petrovay, Markus Pilman&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://www.zorba-xquery.com/modules/cryptography/hash</string>
<string key="prefix">hash</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">hash-impl</string>
<string key="qname">hash:hash-impl</string>
<string key="signature">($value as xs:string, $alg as xs:string) as xs:string external</string>
<string key="description"> This function computes a hash value of the string provided as parameter.
The function expects the hash algorithm to be used as parameter.
</string>
<string key="summary">&lt;p&gt; This function computes a hash value of the string provided as parameter.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">value</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string to be hashed.&lt;/div&gt;</string>
</map>
<map>
<string key="name">alg</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The algorithm to use for this hashing operation. Currently only "md5" and "sha1" algorithms are available. If no valid algorithm name is given, md5 will be used.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">The hash of the provided string. In case SHA1 is used, the resulting hash value is base64 encoded.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">md5</string>
<string key="qname">hash:md5</string>
<string key="signature">($value as xs:string) as xs:string</string>
<string key="description"> Computes the MD5 hash of the string provided as parameter.
</string>
<string key="summary">&lt;p&gt; Computes the MD5 hash of the string provided as parameter.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">value</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string to hash.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">The MD5 hash of the provided string.</string>
</map>
<array key="errors"/>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">1</number>
<string key="name">sha1</string>
<string key="qname">hash:sha1</string>
<string key="signature">($value as xs:string) as xs:string</string>
<string key="description"> Computes the SHA1 hash of the string provided as parameter.
</string>
<string key="summary">&lt;p&gt; Computes the SHA1 hash of the string provided as parameter.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">value</string>
<string key="type">xs:string</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The string to hash.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:string</string>
<string key="description">The base64 encoded SHA1 hash of the provided string.</string>
</map>
<array key="errors"/>
</map>
</array>
<array key="variables"/>
</map>
<map key="http://zorba.io/modules/excel/lookup">
<string key="ns">http://zorba.io/modules/excel/lookup</string>
<string key="description"> This module implements some Excel 2003 lookup functions.
</string>
<array key="sees">
<string>&lt;xqdoc:see xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;&lt;a href="http://office.microsoft.com/en-us/excel/CH062528281033.aspx" target="_blank"&gt;Excel 2003 Documentation: Lookup Functions&lt;/a&gt;&lt;/xqdoc:see&gt;</string>
</array>
<array key="authors">
<string>&lt;xqdoc:author xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Daniel Turcanu&lt;/xqdoc:author&gt;</string>
</array>
<null key="version"/>
<string key="encoding">utf-8</string>
<array key="namespaces">
<map>
<string key="uri">http://zorba.io/modules/excel/lookup</string>
<string key="prefix">excel</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/excel/errors</string>
<string key="prefix">excel-err</string>
</map>
<map>
<string key="uri">http://zorba.io/modules/excel/math</string>
<string key="prefix">excel-math</string>
</map>
<map>
<string key="uri">http://zorba.io/options/versioning</string>
<string key="prefix">ver</string>
</map>
</array>
<array key="functions">
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">2</number>
<string key="name">choose</string>
<string key="qname">excel:choose</string>
<string key="signature">($index_num as xs:integer, $values as xs:anyAtomicType*) as xs:anyAtomicType</string>
<string key="description"> Uses index_num to return a value from the sequence of value arguments.
</string>
<string key="summary">&lt;p&gt; Uses index_num to return a value from the sequence of value arguments.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The position in the sequence, 1 based.&lt;/div&gt;</string>
</map>
<map>
<string key="name">values</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; The sequence of values.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The value at the index position.</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if index is smaller than 1 or bigger than the size of sequence.&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">30</number>
<string key="name">choose</string>
<string key="qname">excel:choose</string>
<string key="signature">($index_num as xs:integer, $value_sequence1 as xs:anyAtomicType*, $value_sequence2 as xs:anyAtomicType*, $value_sequence3 as xs:anyAtomicType*, $value_sequence4 as xs:anyAtomicType*, $value_sequence5 as xs:anyAtomicType*, $value_sequence6 as xs:anyAtomicType*, $value_sequence7 as xs:anyAtomicType*, $value_sequence8 as xs:anyAtomicType*, $value_sequence9 as xs:anyAtomicType*, $value_sequence10 as xs:anyAtomicType*, $value_sequence11 as xs:anyAtomicType*, $value_sequence12 as xs:anyAtomicType*, $value_sequence13 as xs:anyAtomicType*, $value_sequence14 as xs:anyAtomicType*, $value_sequence15 as xs:anyAtomicType*, $value_sequence16 as xs:anyAtomicType*, $value_sequence17 as xs:anyAtomicType*, $value_sequence18 as xs:anyAtomicType*, $value_sequence19 as xs:anyAtomicType*, $value_sequence20 as xs:anyAtomicType*, $value_sequence21 as xs:anyAtomicType*, $value_sequence22 as xs:anyAtomicType*, $value_sequence23 as xs:anyAtomicType*, $value_sequence24 as xs:anyAtomicType*, $value_sequence25 as xs:anyAtomicType*, $value_sequence26 as xs:anyAtomicType*, $value_sequence27 as xs:anyAtomicType*, $value_sequence28 as xs:anyAtomicType*, $value_sequence29 as xs:anyAtomicType*) as xs:anyAtomicType*</string>
<string key="description"> Uses index_num to return a sequence from the list of sequences.
Use CHOOSE to select one of up to 29 sequences based on the index number.
</string>
<string key="summary">&lt;p&gt; Uses index_num to return a sequence from the list of sequences.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">index_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the position in the sequence, 1 based&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence1</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence2</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence3</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence4</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence5</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence6</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence7</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence8</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence9</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence10</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence11</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence12</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence13</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence14</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence15</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence16</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence17</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence18</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence19</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence20</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence21</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence22</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence23</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence24</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence25</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence26</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence27</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence28</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
<map>
<string key="name">value_sequence29</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">*</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; a sequence of values. Specify the empty sequence () if you don't need it.&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType*</string>
<string key="description">The value at the index position</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if index is smaller than 1 or bigger than 29&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">hlookup</string>
<string key="qname">excel:hlookup</string>
<string key="signature">($lookup_value as xs:anyAtomicType, $table_array as xs:anyAtomicType+, $table_width as xs:integer, $table_height as xs:integer, $row_index_num as xs:integer) as xs:anyAtomicType</string>
<string key="description"> Same as above, only that range_lookup is defaulted to true.
That is, this Hlookup looks for the approximate value
and the first row must be ordered ascending.
</string>
<string key="summary">&lt;p&gt; Same as above, only that range_lookup is defaulted to true.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">lookup_value</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the value to be searched. Allowed types are numeric, string, boolean. &lt;p/&gt; Boolean values are compared only with booleans. Numbers are compared only with numbers, if range_lookup is not zero. The other types are converted to string and compared to string value of all values.&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_array</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values, row after row&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_width</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of values in a row&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_height</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of rows&lt;/div&gt;</string>
</map>
<map>
<string key="name">row_index_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the row index, 1 based&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The value found, with original type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the array contains less elements than specified by table_height and table_width&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if row_index_num is outside the range 1 .. table_height&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if range_lookup is true and the value searched is smaller than the first value in the header&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if range_lookup=false and the value cannot be found&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">6</number>
<string key="name">hlookup</string>
<string key="qname">excel:hlookup</string>
<string key="signature">($lookup_value as xs:anyAtomicType, $table_array as xs:anyAtomicType+, $table_width as xs:integer, $table_height as xs:integer, $row_index_num as xs:integer, $range_lookup as xs:boolean) as xs:anyAtomicType</string>
<string key="description"> Searches for a value in the top row of an array of values,
and then returns a value in the same column from a row you specify in the array.
&lt;dl xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Array is specified with 3 parameters:
&lt;dt&gt;table_array&lt;/dt&gt; &lt;dd&gt;is a sequence of elements, first row first, then second row and so on&lt;/dd&gt;
&lt;dt&gt;table_width&lt;/dt&gt; &lt;dd&gt;specifies the number of elements in a row&lt;/dd&gt;
&lt;dt&gt;table_height&lt;/dt&gt; &lt;dd&gt;specifies the number of rows&lt;/dd&gt;&lt;/dl&gt;
The number of elements in table_array must be equal or more than table_width * table_height.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
For wildchar matching, the XQuery regex matcher is used.
</string>
<string key="summary">&lt;p&gt; Searches for a value in the top row of an array of values,
and then returns a value in the same column from a row you specify in the array.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">lookup_value</string>
<string key="type">xs:anyAtomicType</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the value to be searched. Allowed types are numeric, string, boolean. &lt;p/&gt; Boolean values are compared only with booleans. Numbers are compared only with numbers, if range_lookup is not zero. The other types are converted to string and compared to string value of all values.&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_array</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values, row after row&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_width</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of values in a row&lt;/div&gt;</string>
</map>
<map>
<string key="name">table_height</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of rows&lt;/div&gt;</string>
</map>
<map>
<string key="name">row_index_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the row index, 1 based&lt;/div&gt;</string>
</map>
<map>
<string key="name">range_lookup</string>
<string key="type">xs:boolean</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; &lt;dl&gt;specifies the algorithm to use: &lt;dt&gt;true&lt;/dt&gt; &lt;dd&gt;find approximative match. First row of array must be sorted in ascending order.&lt;/dd&gt; &lt;dt&gt;false&lt;/dt&gt; &lt;dd&gt;find exact match, using xquery regex First row of array can be in any order. &lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType</string>
<string key="description">The value found, with original type</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the array contains less elements than specified by table_height and table_width&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if row_index_num is outside the range 1 .. table_height&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if range_lookup is true and the value searched is smaller than the first value in the header&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if range_lookup=false and the value cannot be found&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">5</number>
<string key="name">index</string>
<string key="qname">excel:index</string>
<string key="signature">($array as xs:anyAtomicType+, $array_height as xs:integer, $array_width as xs:integer, $row_num as xs:integer, $column_num as xs:integer) as xs:anyAtomicType+</string>
<string key="description"> Returns a value from within an array.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
This is the Array form of the Excel Index function.&lt;p xmlns:xqdoc="http://www.xqdoc.org/1.0"/&gt;
&lt;dl xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;Array is specified with 3 parameters:
&lt;dt&gt;array&lt;/dt&gt; &lt;dd&gt;is a sequence of elements, first row first, then second row and so on&lt;/dd&gt;
&lt;dt&gt;array_height&lt;/dt&gt; &lt;dd&gt;specifies the number of rows&lt;/dd&gt;
&lt;dt&gt;array_width&lt;/dt&gt; &lt;dd&gt;specifies the number of elements in a row&lt;/dd&gt;&lt;/dl&gt;
The number of elements in array must be equal or more than array_width * array_height.
</string>
<string key="summary">&lt;p&gt; Returns a value from within an array.&lt;/p&gt;</string>
<string key="annotation_str"/>
<array key="annotations"/>
<boolean key="updating">false</boolean>
<array key="parameters">
<map>
<string key="name">array</string>
<string key="type">xs:anyAtomicType</string>
<string key="occurrence">+</string>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the sequence of values, row after row&lt;/div&gt;</string>
</map>
<map>
<string key="name">array_height</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of rows&lt;/div&gt;</string>
</map>
<map>
<string key="name">array_width</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the number of values in a row&lt;/div&gt;</string>
</map>
<map>
<string key="name">row_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the row position of the value, 1 based&lt;/div&gt;</string>
</map>
<map>
<string key="name">column_num</string>
<string key="type">xs:integer</string>
<null key="occurrence"/>
<string key="description">&lt;div xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt; the column position of the value, 1 based&lt;/div&gt;</string>
</map>
</array>
<map key="returns">
<string key="type">xs:anyAtomicType+</string>
<string key="description">The value from x-y in the array</string>
</map>
<array key="errors">
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Value if the array contains less elements than specified by table_height and table_width&lt;/xqdoc:error&gt;</string>
<string>&lt;xqdoc:error xmlns:xqdoc="http://www.xqdoc.org/1.0"&gt;excel-err:Ref if row_num is outside the range&lt;/xqdoc:error&gt;</string>
</array>
</map>
<map>
<boolean key="isDocumented">true</boolean>
<number key="arity">3</number>
<string key="name">lookup</string>
<string key="qname">excel:lookup</string>
<string key="signature">($lookup_value as xs:anyAtomicType, $lookup_vector as xs:anyAtomicType+, $result_vect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment