私の目標は、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>
んでした。