Changes

Jump to navigation Jump to search
145 bytes removed ,  14:43, 27 February 2020
no edit summary
* The module will be available if the {{Code|basex-api}} library is found in the classpath. This is the case if you use one of the complete distributions of BaseX (zip, exe, war).
* All functions and errors are assigned to the <code><nowiki>http://basex.org/modules/ws</nowiki></code> namespace, which is statically bound to the {{Code|ws}} prefix. Prior to {{Version|9.2}}, the module needed to be imported in the query prolog: <pre class="brush:xquery">import module namespace ws = "http://basex.org/modules/ws";...</pre> 
* As sessions are side-effecting operations, all functions are flagged as ''non-deterministic''. As a result, some query optimizations will be suppressed.
|-
| '''Summary'''
|Returns the ids of all currently registered WebSocketWebSockets.
|}
==ws:eval==
 
{{Mark|Introduced with 9.2:}}
{| width='100%'
|-
| '''Summary'''
|Schedules the evaluation of the supplied {{Code|$query}} and returns the result to the calling WebSocket client. The query can be a URI or a string, and variables and context items can be declared via {{Code|$bindings}} (see {{FunctionsFunction|XQuery|xquery:eval}} for more details). The following {{Code|$options}} can be supplied:
* {{Code|base-uri}}: sets the [https://www.w3.org/TR/xquery-31/#dt-static-base-uri base-uri property] for the query. This URI will be used when resolving relative URIs, such as with {{Code|fn:doc}}.
* {{Code|id}}: sets a custom job id. The id must not start with the standard <code>job</code> prefix, and it can only be assigned if no job with the same name exists.
| '''Examples'''
|
* Cache Schedule a second query result. The returned id can be used to pick up that will notify the result with [[#jobs:result|jobs:result]]client 10 seconds later that a message was processed:<pre classsyntaxhighlight lang='brush:"xquery'">
declare
%ws:message('/tasks', '{$message}')
function local:message($message) {
ws:eval('prof:sleep(10000), "Your message has been processed."')
};
</presyntaxhighlight>
|}
==Example 1==
<pre classsyntaxhighlight lang="brush:xquery">
import module namespace ws = "http://basex.org/modules/ws";
return ws:broadcast($message)
};
</presyntaxhighlight>
'''Explanation:'''
==Example 2==
<pre classsyntaxhighlight lang="brush:xquery">
import module namespace ws = "http://basex.org/modules/ws";
return ws:emit($message)
};
</presyntaxhighlight>
'''Explanation:'''
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu