Difference between revisions of "Process Module"
Jump to navigation
Jump to search
m (Text replace - "assigned to the \{\{Code\|([^}]*)\}\} namespace" to "assigned to the <code><nowiki>$1</nowiki></code> namespace") |
|||
Line 9: | Line 9: | ||
==proc:system== | ==proc:system== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 34: | Line 35: | ||
==proc:execute== | ==proc:execute== | ||
+ | |||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
Line 56: | Line 58: | ||
* {{Code|proc:execute('dir', '\')}} returns the files of the root directory of a Windows system. | * {{Code|proc:execute('dir', '\')}} returns the files of the root directory of a Windows system. | ||
* {{Code|proc:execute('ls', ('-l', '-a'))}} executes the {{Code|ls -la}} command on Unix systems. | * {{Code|proc:execute('ls', ('-l', '-a'))}} executes the {{Code|ls -la}} command on Unix systems. | ||
+ | |} | ||
+ | |||
+ | ==proc:property-names== | ||
+ | |||
+ | {{Mark|Introduced with Version 8.3:}} | ||
+ | |||
+ | {| width='100%' | ||
+ | |- | ||
+ | | width='120' | '''Signatures''' | ||
+ | |{{Func|proc:property-names||xs:string*}}<br/> | ||
+ | |- | ||
+ | | '''Summary''' | ||
+ | |Returns the names of all Java system properties. For environment variables of the operating system, please use [https://www.w3.org/TR/xpath-functions-30/#func-available-environment-variables fn:available-environment-variables]. | ||
+ | |- | ||
+ | | '''Examples''' | ||
+ | | | ||
+ | * {{Code|proc:property('java.runtime.version')}} returns the version of the Java runtime engine. | ||
+ | |} | ||
+ | |||
+ | ==proc:property== | ||
+ | |||
+ | {{Mark|Introduced with Version 8.3:}} | ||
+ | |||
+ | {| width='100%' | ||
+ | |- | ||
+ | | width='120' | '''Signatures''' | ||
+ | |{{Func|proc:property|$name as xs:string|xs:string?}}<br/> | ||
+ | |- | ||
+ | | '''Summary''' | ||
+ | |Returns the Java system property specified by {{Code|$name}}. An empty sequence is returned if the property does not exist. For environment variables of the operating system, please use [https://www.w3.org/TR/xpath-functions-30/#func-environment-variable fn:environment-variable]. | ||
+ | |- | ||
+ | | '''Examples''' | ||
+ | | | ||
+ | * {{Code|map:merge(proc:property-names() ! map:entry(., proc:property(.)))}} returns a map with all system properties. | ||
|} | |} | ||
Line 69: | Line 105: | ||
=Changelog= | =Changelog= | ||
+ | |||
+ | ;Version 8.3 | ||
+ | |||
+ | * Added: [[#proc:property|proc:property]], [[#proc:property-names|proc:property-names]]. | ||
The module was introduced with Version 7.3. | The module was introduced with Version 7.3. | ||
[[Category:XQuery]] | [[Category:XQuery]] |
Revision as of 12:05, 21 September 2015
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
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.$cmd is the name of the command. Arguments to the command 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 |
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.$cmd is the name of the command. Arguments to the command 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...</output> <error>...error output...</error> <code>0</code> </result> |
Errors | BXPR9999 : the specified encoding does not exist or is not supported.
|
Examples |
|
proc:property-names
Signatures | proc:property-names() as xs:string* |
Summary | Returns the names of all Java system properties. For environment variables of the operating system, please use fn:available-environment-variables. |
Examples |
|
proc:property
Signatures | proc:property($name as xs:string) as xs:string? |
Summary | Returns the Java system property specified by $name . An empty sequence is returned if the property does not exist. For environment variables of the operating system, please use fn:environment-variable.
|
Examples |
|
Errors
Code | Description |
---|---|
BXPR9999
|
The specified encoding does not exist or is not supported. |
Changelog
- Version 8.3
- Added: proc:property, proc:property-names.
The module was introduced with Version 7.3.