Changes

Jump to navigation Jump to search
1,337 bytes added ,  21:01, 15 June 2012
|-
| width='90' | '''Signatures'''
|{{Func|xquery:eval|$expr as xs:string|item()*}}<br />{{Func|xquery:eval|$expr as xs:string, $bindings as map(*)|item()*}}<br />
|-
| '''Summary'''
|Evaluates {{Code|$expr}} as XQuery expression at runtime and returns the resulting items.<br />Variables and context items can be declared via {{Code|$bindings}}. The specified keys must be QNames or strings, the values can be arbitrary item sequences:* variables specified as QNames will be directly interpreted as variable name.* variables specified as xs:string may be prefixed with a dollar sign. Namespace can be specified using the [http://www.jclark.com/xml/xmlns.htm Clark Notation]. If the specified string is empty, the value will be bound as context item.
|-
| '''Errors'''
|
* {{Code|xquery:eval("1+3")}} returns {{Code|4}}.<br />
* The following expressions use strings as keys. All of them return 'XML':<br/>
<pre class='brush:xquery'>
xquery:eval("$xml", map{ 'xml' := 'XML' }),
xquery:eval("$xml", map{ '$xml' := 'XML' }),
xquery:eval("declare namespace pref='URI'; $pref:xml", map{ '{URI}xml' := 'XML' }),
xquery:eval(".", map{ '' := 'XML' })
</pre>
* The following expressions use QNames as keys. All of them return 'XML':<br/>
<pre class='brush:xquery'>
declare namespace pref = 'URI';
xquery:eval("declare namespace pref='URI'; $pref:xml", map{ xs:QName('pref:xml') := 'XML' }),
xquery:eval("$xml", map{ xs:QName('xml') := 'XML' })
</pre>
|}
|-
| width='90' | '''Signatures'''
|{{Func|xquery:invoke|$uri as xs:string|item()*}}<br />{{Func|xquery:invoke|$expr as xs:string, $bindings as map(*)|item()*}}<br />
|-
| '''Summary'''
|Opens {{Code|$uri}} as file, evaluates it as XQuery expression at runtime, and returns the resulting items.<br />The semantics of the {{Code|$bindings}} parameter is the same as for [[#xquery:eval|xquery:eval]].
|-
| '''Errors'''
Bureaucrats, editor, reviewer, Administrators
13,554

edits

Navigation menu