Difference between revisions of "Process Module"
Jump to navigation
Jump to search
Line 10: | Line 10: | ||
==proc:system== | ==proc:system== | ||
− | {{Mark|Updated with Version 8.6:}} options | + | {{Mark|Updated with Version 8.6:}} third argument replaced with options argument. |
{| width='100%' | {| width='100%' | ||
|- | |- | ||
| width='120' | '''Signatures''' | | width='120' | '''Signatures''' | ||
− | |{{Func|proc:system|$cmd as xs:string|xs:string}}<br/>{{Func|proc:system|$cmd as xs:string, $args as xs:string*|xs:string}}<br/>{{Func|proc:system|$cmd as xs:string, $args as xs:string*, $ | + | |{{Func|proc:system|$cmd as xs:string|xs:string}}<br/>{{Func|proc:system|$cmd as xs:string, $args as xs:string*|xs:string}}<br/>{{Func|proc:system|$cmd as xs:string, $args as xs:string*, $options as map(xs:string, xs:string)|xs:string}}<br/> |
|- | |- | ||
| '''Summary''' | | '''Summary''' | ||
− | |Executes the specified command in a separate process and returns the result as string. | + | |Executes the specified command in a separate process and returns the result as string. {{Code|$cmd}} is the name of the command, arguments to the command may be specified via {{Code|$args}}. The {{Code|$options}} parameter contains process options: |
+ | * {{Code|$encoding}}: convert result to the specified encoding. If no encoding is supplied, the system’s default encoding is used. | ||
+ | * {{Code|timeout}}: query execution will be interrupted after the specified number of seconds. | ||
|- | |- | ||
|'''Errors''' | |'''Errors''' | ||
Line 38: | Line 40: | ||
==proc:execute== | ==proc:execute== | ||
− | {{Mark|Updated with Version 8.6:}} options | + | {{Mark|Updated with Version 8.6:}} third argument replaced with options argument. |
{| width='100%' | {| width='100%' | ||
|- | |- | ||
| width='120' | '''Signatures''' | | width='120' | '''Signatures''' | ||
− | |{{Func|proc:execute|$cmd as xs:string|element(result)}}<br/>{{Func|proc:execute|$cmd as xs:string, $args as xs:string*|element(result)}}<br/>{{Func|proc:execute|$cmd as xs:string, $args as xs:string*, $ | + | |{{Func|proc:execute|$cmd as xs:string|element(result)}}<br/>{{Func|proc:execute|$cmd as xs:string, $args as xs:string*|element(result)}}<br/>{{Func|proc:execute|$cmd as xs:string, $args as xs:string*, $options as map(xs:string, xs:string)|element(result)}} |
|- | |- | ||
| '''Summary''' | | '''Summary''' | ||
− | |Executes the specified command in a separate process and returns the result as element. | + | |Executes the specified command in a separate process and returns the result as element. {{Code|$cmd}} is the name of the command, and arguments to the command may be specified via {{Code|$args}}.The {{Code|$options}} parameter contains process options: |
+ | * {{Code|$encoding}}: convert result to the specified encoding. If no encoding is supplied, the system’s default encoding is used. | ||
+ | * {{Code|timeout}}: query execution will be interrupted after the specified number of seconds. | ||
+ | A result has the following structure: | ||
<pre class="brush:xml"> | <pre class="brush:xml"> | ||
<result> | <result> |
Revision as of 18:15, 29 November 2016
This XQuery Module provides functions for executing system commands from XQuery.
Contents
Conventions
All functions in this module are assigned to the http://basex.org/modules/proc
namespace, which is statically bound to the proc
prefix.
All errors are assigned to the http://basex.org/errors
namespace, which is statically bound to the bxerr
prefix.
Functions
proc:system
Template:Mark third argument replaced with options argument.
Signatures | proc:system($cmd as xs:string) as xs:string proc:system($cmd as xs:string, $args as xs:string*) as xs:string proc:system($cmd as xs:string, $args as xs:string*, $options as map(xs:string, xs:string)) as xs:string |
Summary | Executes the specified command in a separate process and returns the result as string. $cmd is the name of the command, arguments to the command may be specified via $args . The $options parameter contains process options:
|
Errors | BXPRnnnn : If the command results in an error, an XQuery error will be raised. Its code will consist of the letters BXPR and four digits with the command’s exit code.BXPR9999 : the specified encoding does not exist or is not supported.
|
Examples |
try { proc:system('xyz') } catch bxerr:BXPR0002 { 'Command not found.' } |
proc:execute
Template:Mark third argument replaced with options argument.
Signatures | proc:execute($cmd as xs:string) as element(result) proc:execute($cmd as xs:string, $args as xs:string*) as element(result) proc:execute($cmd as xs:string, $args as xs:string*, $options as map(xs:string, xs:string)) as element(result)
|
Summary | Executes the specified command in a separate process and returns the result as element. $cmd is the name of the command, and arguments to the command may be specified via $args .The $options parameter contains process options:
A result has the following structure: <result> <output>...result output...</output> <error>...error output...</error> <code>0</code> </result> |
Errors | BXPR9999 : the specified encoding does not exist or is not supported.
|
Examples |
|
proc:property
Signatures | proc:property($name as xs:string) as xs:string? |
Summary | Returns the system property, specified by $name , or a context parameter of the web.xml file with that name (see Web Applications). An empty sequence is returned if the property does not exist. For environment variables of the operating system, please use fn:environment-variable.
|
Examples |
|
proc:property-names
Signatures | proc:property-names() as xs:string* |
Summary | Returns the names of all Java system properties and context parameters of the web.xml file (see Web Applications). For environment variables of the operating system, please use fn:available-environment-variables.
|
Examples |
|
Errors
Code | Description |
---|---|
BXPR9999
|
The specified encoding does not exist or is not supported. |
Changelog
- Version 8.6
- Updated: proc:system, proc:exec: options added.
- Version 8.3
- Added: proc:property, proc:property-names.
The module was introduced with Version 7.3.