2017-06-07 4 views
1

であれば、私は相対パスでxsltprocを実行すると、私はすなわち、this guidexsltprocの:I/Oエラー:無効な引数引数は絶対パス

あたりとしてWindows上でxsltprocのを使用しています:

xsltproc -o "..\output.html" "c:\templates\out.xsl" "c:\data\input.xml" 

すべては問題ありません。 しかし、私は絶対パスでそれを実行すると、それは、失敗例:

xsltproc -o "c:\output.html" "c:\templates\out.xsl" "c:\data\input.xml" 
I/O error : Invalid argument 
I/O error : Invalid argument 

は(問題が-o引数のためだけである)

同じ結果で、パスの区切りとして、前方と後方スラッシュの両方を試してみました

xsltprocは、どのようにしてWindows絶対パスがエンコードされますか?

+0

パスを引用してみましたか? '-o"のようにC:\ output.htm "または' -o "C:/output.htm" '?また、どのバージョンのlibxsltを使用していますか? –

+0

'libxslt-1.1.26.win32'で試してみましたが、パスを引用符で囲むだけで問題ありません。これはXSLTに関する質問ではないようです。これは、Windowsの実行可能ファイルに引数を渡す方法に関するものです。 –

+0

引用符を追加しても差はありません(パスにはスペースはありません)。これはバグのようです – fferri

答えて

0

私にとっては、出力ファイルのパスに問題がありました。二重引用符で囲まれているにもかかわらず、それでもエラーは出ています。スペースを含むフォルダを削除するとすぐに機能しました。奇妙なことに、フィードされたファイルが同じスペースを含むフォルダにあり、そのファイルを変更する必要はありませんでした。