検索

377.11. XSLT と Java バージョンの使用に関する注意事項

download PDF

以下は、Camel ユーザーである Sameer が共有してくれた、いくつかの意見を紹介します。

XSLT エンドポイントで問題が発生した場合は、これらの点を確認してください。

単純な xsl を使用して、ある xml から別の xml への単純な変換に xslt エンドポイントを使用しようとしていました。出力 xml は、(ルートの xslt プロセッサーの後に) 表示され続け、コンテンツが含まれていない最も外側の xml タグを使用していました。

DEBUG ログに説明が表示されません。ただし、TRACE ログで、XMLConverter Bean を初期化できなかったことを示すエラー/警告が見つかりました。

数時間頭を悩ませた後、それを機能させるために次のことをしなければなりませんでした (手がかりを与えてくれたユーザーフォーラムの投稿のおかげです)。

  1. class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl" の Spring コンテキストで定義された Bean を持つ tFactory Bean を使用して、ルート ("xslt:my-transformer.xsl?transformerFactory=tFactory") で TransformerFactory オプションを使用します。
  2. Xalan jar を maven pom に追加しました。

私の推測では、JDK 内で提供されるデフォルトの xml 解析メカニズム (私は 1.6.0_03 を使用しています) は、このコンテキストでは正しく機能せず、エラーも発生しません。この方法で Xalan に切り替えると、うまくいきます。これは Camel の問題ではありませんが、xslt コンポーネントページで言及する必要があるかもしれません。

別の注意として、jdk 1.6.0_03 には JAXB 2.0 が同梱されていますが、Camel には 2.1 が必要です。1 つの回避策は、jvm の jre/lib/endorsed ディレクトリーに 2.1 jar を追加するか、コンテナーで指定されたとおりに追加することです。

この投稿が初心者の Camel 使用者の時間を節約できることを願っています.

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.