Difference between revisions of "Process Module"

From BaseX Documentation
Jump to navigation Jump to search
m (Text replace - "{{Mono|" to "{{Code|")
Line 12: Line 12:
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Code|<b>proc:system</b>($cmd as xs:string) as xs:string}}<br/>{{Code|<b>proc:system</b>($cmd as xs:string, $args as xs:string*) as xs:string}}<br/>{{Code|<b>proc:system</b>($cmd as xs:string, $args as xs:string*, $encoding as xs:string) 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*, $encoding as xs:string|xs:string}}<br/>
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
Line 37: Line 37:
 
|-
 
|-
 
| width='90' | '''Signatures'''
 
| width='90' | '''Signatures'''
|{{Code|<b>proc:execute</b>($cmd as xs:string) as element(result)}}<br/>{{Code|<b>proc:execute</b>($cmd as xs:string, $args as xs:string*) as element(result)}}<br/>{{Code|<b>proc:execute</b>($cmd as xs:string, $args as xs:string*, $encoding as xs:string) as element(result)}}
+
|{{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*, $encoding as xs:string|element(result)}}
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''

Revision as of 14:21, 26 May 2012

This XQuery Module provides functions for executing system commands from XQuery.

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

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*, $encoding as xs:string) as xs:string
Summary Executes the specified command in a separate process and returns the result as string.
Additional command arguments may be specified via $args.
The result can be explicitly converted to a specified $encoding. If no encoding is specified, the system’s default encoding is used.
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 is raised if the specified encoding does not exist or is not supported.
Examples
  • proc:system('date') returns the current date on a Linux system.
  • The following example returns "Command not found", if the command "xyz" cannot be located or executed:
try {
  proc:system('xyz')
} catch bxerr:BXPR0002 {
  'Command not found.'
}

proc:execute

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*, $encoding as xs:string) as element(result)
Summary Executes the specified command in a separate process and returns the result as element.
Additional command arguments may be specified via $args.
The result can be explicitly converted to a specified $encoding. If no encoding is specified, the system’s default encoding is used.
A result has the following structure:
<result>
  <output>...result...</output>
  <error/>
  <code>0</code>
</result>
Errors BXPR9999 is raised if the specified encoding does not exist or is not supported.
Examples
  • proc:execute('dir', '\') returns the root directory on a Windows system.

Changelog

The module was introduced with Version 7.2.2.

Errors

Code Description
BXPR9999 The specified encoding does not exist or is not supported.