1

私の目標は、XProc を介して FTP サーバー上にある XML ドキュメントにアクセスすることです。この特定の FTP サーバーには認証が必要です。

Java 8 で最新バージョンの Calabash (1.1.6-96) を使用しています。

次の XProc は、認証が不要な場合に完全に機能します。

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
    <p:input port="source">
    <p:document href="ftp://ftp.hq.nasa.gov/index.html"/>
    </p:input>
    <p:output port="result"/>
    <p:identity/>
</p:declare-step>

ただし、認証が必要な FTP サーバーにアクセスしようとすると、次のようになります。

<p:declare-step xmlns:p="http://www.w3.org/ns/xproc"
xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
    <p:input port="source">
        <p:document href="ftp://user:passwordd@ftp.example.org/example.xml"/>
    </p:input>
    <p:output port="result"/>
    <p:identity/>
 </p:declare-step>

ひょうたんはエラーを返します:

エラー: ap:document 要素によって参照されるリソースが存在しない場合、アクセスできない場合、または整形式の XML ドキュメントではない場合は動的エラーです。

ドキュメントにアクセスできないことを示します。

奇妙なことに、古いバージョンの Calabash (1.0.*) に付属している Oxygen (16.0) の古いインストールがあり、認証を使用する 2 番目の XProc は完全に正常に動作します。そのため、Calabash 内で何かが変更されたか、古い Oxygen/Calabash 構成に関連する何かが機能しているだけです。

また、このファイルにアクセスするための別の方法も受け入れています。<p:document>すでに交換を試みましたが、うまくいきませ<p:http-request>んでした。

4

0 に答える 0