Changes

Jump to navigation Jump to search
1,451 bytes added ,  20:14, 23 December 2014
no edit summary
|-
| '''Summary'''
|Evaluates the supplied {{Code|$query}} string as XQuery expression at runtime and returns the resulting items.<br/>The evaluated query has its own query context. If a returned node is stored in a database, a main-memory copy will be returned as result, because the referenced database is closed after query execution and will not be accessible anymore.<br />Variables and context items can be declared via {{Code|$bindings}}. The specified keys must be QNames or strings:
* If a key is a QName, it will be directly adopted as variable name.
* It a key is a string, it may be prefixed with a dollar sign. Namespace can be specified using the [http://www.jclark.com/xml/xmlns.htm Clark Notation].
| '''Errors'''
|{{Error|BXXQ0002|#Errors}} the query contains no [[XQuery Update#Updating Expressions|updating expressions]].<br/>{{Error|BXXQ0003|#Errors}} insufficient permissions for evaluating the query.<br/>{{Error|BXXQ0004|#Errors}} query execution exceeded timeout or memory constraints.<br/>{{Error|FOTY0013|#Errors}} the expression yields function items.
|}
 
==xquery:parse==
 
{| width='100%'
|-
| width='120' | '''Signatures'''
|{{Func|xquery:parse|$query as xs:string|item()*}}<br />{{Func|xquery:eval|$query as xs:string, $options as item()|item()}}<br />
|-
| '''Summary'''
|Parses the specified {{Code|$query}} string as XQuery module and returns information on the resulting query plan (please note that the naming of the expressions in the query plan may change over time). The {{Code|$options}} parameters can be specified in two ways:
* as children of an {{Code|<xquery:options/>}} element:
<pre class="brush:xml">
<xquery:options>
<xquery:compile value="true"/>
</xquery:options>
</pre>
* as map, which contains all key/value pairs:
<pre class="brush:xml">
map { "compile": true() }
</pre>
The following options are available:
* {{Code|compile}}: additionally compiles the query after parsing it. By default, this option is {{Code|false}}.
* {{Code|plan}}: returns an XML representation of the internal query plan. By default, this option is {{Code|true}}.
|-
| '''Errors'''
|{{Error|BXXQ0003|#Errors}} insufficient permissions for evaluating the query.
|-
| '''Examples'''
|
* {{Code|xquery:parse("1 + 3")}} returns:
<pre class='brush:xml'>
<MainModule updating="false">
<QueryPlan compiled="false">
<Arith op="+">
<Int value="1" type="xs:integer"/>
<Int value="3" type="xs:integer"/>
</Arith>
</QueryPlan>
</MainModule>
</pre>
|}
;Version 8.0
* Added: [[#xquery:update|xquery:update]], [[#xquery:parse|xquery:parse]]
* Deleted: [[#xquery:evaluate|xquery:evaluate]] (opened databases will now be closed by main query)
Bureaucrats, editor, reviewer, Administrators
13,554

edits

Navigation menu