Difference between revisions of "Process Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 3: Line 3:
 
=Conventions=
 
=Conventions=
  
All functions in this module are assigned to the <code>http://basex.org/modules/proc</code> namespace, which is statically bound to the <code>proc</code> prefix.<br/>
+
All functions in this module are assigned to the {{Code|http://basex.org/modules/proc}} namespace, which is statically bound to the {{Code|proc}} prefix.<br/>
All errors are assigned to the <code>http://basex.org/errors</code> namespace, which is statically bound to the <code>bxerr</code> prefix.
+
All errors are assigned to the {{Code|http://basex.org/errors}} namespace, which is statically bound to the {{Code|bxerr}} prefix.
  
 
=Functions=
 
=Functions=
Line 18: Line 18:
 
|-
 
|-
 
|'''Errors'''
 
|'''Errors'''
|'''[[#Errors|BXPRnnnn]]''': If the command results in an error, an XQuery error will be raised. Its code will consist of the letters {{Code|BXPR}} and four digits with the command’s exit code.<br/>'''[[#Errors|BXPR9999]]''' is raised if the specified encoding does not exist or is not supported.
+
|{{Error|BXPRnnnn|#Error}} If the command results in an error, an XQuery error will be raised. Its code will consist of the letters {{Code|BXPR}} and four digits with the command’s exit code.<br/>{{Error|BXPR9999|#Error}} the specified encoding does not exist or is not supported.
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
Line 50: Line 50:
 
|-
 
|-
 
|'''Errors'''
 
|'''Errors'''
|'''[[#Errors|BXPR9999]]''' is raised if the specified encoding does not exist or is not supported.
+
|{{Error|BXPR9999|#Error}} the specified encoding does not exist or is not supported.
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''
Line 67: Line 67:
 
! width="95%"|Description
 
! width="95%"|Description
 
|-
 
|-
|<code>BXPR9999</code>
+
|{{Code|BXPR9999}}
 
|The specified encoding does not exist or is not supported.
 
|The specified encoding does not exist or is not supported.
 
|}
 
|}

Revision as of 15:24, 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: 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: 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.