Process Module

From BaseX Documentation
Revision as of 15:05, 15 May 2012 by CG (talk | contribs) (Created page with "This XQuery Module provides functions for executing system commands from XQuery. All functions are introduced with the {{Mono|proc:}} prefix, which is linked t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This XQuery Module provides functions for executing system commands from XQuery. All functions are introduced with the proc: prefix, which is linked to the statically declared http://basex.org/modules/proc namespace.

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
Summary Executes the specified command in a separate process and returns the result as string.
If the command results in an error, an XQuery exception will be thrown. Its error code will consist of the letters PROC and four digits with the command’s exit code.
Additional command arguments may be specified via $args.
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 PROC0001 {
  '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)
Summary Executes the specified command in a separate process and returns the result as element.
Additional command arguments may be specified via $args.
A result has the following structure:
<result>
  <output>...result...</output>
  <error/>
  <code>0</code>
</result>
Examples
  • proc:execute('dir', '\') returns the root directory on a Windows system.

Changelog

The module was introduced with Version 7.2.2.