跳轉到內容

XQuery/執行外部程序

來自華夏公益教科書,開放的書籍,開放的世界

您需要執行一個外部程序,例如 shell 命令。

執行程序命令

[編輯 | 編輯原始碼]
  process:execute($command as xs:string, $options as node()) as item()*

選項示例

[編輯 | 編輯原始碼]

目前僅記錄了兩個選項。工作目錄和標準輸入的值

<options>
    <workingDir>PATH TO LOCAL FILE SYSTEM</workingDir>
    <stdin><line>INPUT STRING</line></stdin>
</options>

示例程式

[編輯 | 編輯原始碼]

XQuery 檔案

[編輯 | 編輯原始碼]
import module namespace process="http://exist-db.org/xquery/process" at "java:org.exist.xquery.modules.process.ProcessModule";

let $cmd := 'D:\Apps\git\bin\ls.exe'
return
<results>
{process:execute($cmd, <options/>)}
</results>

示例輸出

[編輯 | 編輯原始碼]

以下是一個執行 git "ls" 命令的示例,該命令沒有任何選項。請注意,預設值為 EXIST_HOME 目錄。

<execution exitCode="0">
    <commandline>D:\Apps\git\bin\ls.exe </commandline>
    <stdout>
        <line>Install_V2.0_20130212155217_6931977091675999583.log</line>
        <line>LICENSE</line>
        <line>README</line>
        <line>VERSION.txt</line>
        <line>atom-example.xq</line>
        <line>atom-services.xml</line>
        <line>autodeploy</line>
        <line>backup.properties</line>
        <line>bin</line>
        <line>build</line>
        <line>build.bat</line>
        <line>build.properties</line>
        <line>build.sh</line>
        <line>build.xml</line>
        <line>client.properties</line>
        <line>client.properties.tmpl</line>
        <line>collection.xconf.init</line>
        <line>conf.xml</line>
        <line>conf.xml.tmpl</line>
        <line>descriptor.xml</line>
        <line>descriptor.xml.tmpl</line>
        <line>dist</line>
        <line>eXist-db.app</line>
        <line>examples.jar</line>
        <line>exist-optional.jar</line>
        <line>exist.jar</line>
        <line>extensions</line>
        <line>icon.bmp</line>
        <line>icon.ico</line>
        <line>icon.png</line>
        <line>index.html</line>
        <line>installer</line>
        <line>lib</line>
        <line>log4j.dtd</line>
        <line>log4j.xml</line>
        <line>mime-types.xml</line>
        <line>mime-types.xml.tmpl</line>
        <line>samples</line>
        <line>schema</line>
        <line>src</line>
        <line>start.jar</line>
        <line>test</line>
        <line>tools</line>
        <line>uninstall.jar</line>
        <line>vm.properties</line>
        <line>webapp</line>
    </stdout>
</execution>
華夏公益教科書