0

壁にぶち当たった感じです。私は、Saxon ライブラリを使用して XSLT 変換を実行する Web アプリケーションに取り組んでいます。このアプリケーションは、出力をコンソールに出力するだけのコンソール アプリケーションでしたが、Web からアプリケーションを制御することにしました。

Web ページに出力するカスタムTextWriterクラスを作成し、コンソールの出力を Web ページに送信するために使用Console.SetOutしました。Console.SetError

ただし、Saxon は の影響を受けないように見える Java 互換ライブラリを使用しているConsole.SetOutため、Web 上でアプリケーションを実行すると、Saxon の内部エラーが Web ページに表示されません。

私の質問の短いバージョンは次のとおりです。Console.SetOutコンソールテキストが出力される場所を変更するために電話をかけ、それが機能しないとします。じゃあ何?

4

1 に答える 1

0

Console.SetOut と Console.SetError が機能しないことに驚いています。Saxon on .NET は、IKVMC を使用して .NET にクロスコンパイルされた OpenJDK ライブラリを使用しており、これらのメソッドが機能するような出力ストリームのマッピングが期待されます。ここにバグがあると思われる場合は、Saxonica サポート サイト (saxonica.plan.io) で問題を再現する例とともに報告してください。

ただし、Saxon エラー メッセージをリダイレクトするより良い方法は、独自の ErrorListener を登録することです。これを .NET Saxon API で直接実行することはできませんが、XsltTransformer から Controller を取得し、javax.xml.transform.ErrorListener インターフェイスの実装を使用してその setErrorListener メソッドを呼び出すことで実行できます。

于 2013-10-24T21:13:03.640 に答える