90.12. XPathBuilder での Saxon の使用


プロジェクトへの依存関係として camel-saxon を追加する必要があります。

XPathBuilder で Saxon を使用する方が簡単になりました。以下に示すように、いくつかの方法で実行できます。

  • カスタム XPathFactory の使用
  • ObjectModel の使用

90.12.1. システムプロパティーを使用したカスタム XPathFactory の設定

Camel は、使用するカスタム XPathFactory を設定するために使用できる JVM システムプロパティー javax.xml.xpath.XPathFactory の読み取りをサポートするようになりました。

この単体テストは、代わりに Saxon を使用するために実行する内容を説明しています。

次のようなデフォルト以外の XPathFactory を使用する場合、Camel は INFO レベルでログを記録します。

XPathBuilder  INFO  Using system property javax.xml.xpath.XPathFactory:http://saxon.sf.net/jaxp/xpath/om with value:
                    net.sf.saxon.xpath.XPathFactoryImpl when creating XPathFactory
Copy to Clipboard Toggle word wrap

Apache Xerces を使用するには、システムプロパティーを設定できます。

-Djavax.xml.xpath.XPathFactory=org.apache.xpath.jaxp.XPathFactoryImpl
Copy to Clipboard Toggle word wrap

90.12.2. XML DSL からの Saxon の有効化

Java DSL と同様に、XML DSL から Saxon を有効にするには、次の 3 つのオプションがあります。

カスタムファクトリーを参照する場合:

<xpath factoryRef="saxonFactory" resultType="java.lang.String">current-dateTime()</xpath>
Copy to Clipboard Toggle word wrap

そして、ファクトリーで Bean を宣言します。

<bean id="saxonFactory" class="net.sf.saxon.xpath.XPathFactoryImpl"/>
Copy to Clipboard Toggle word wrap

オブジェクトモデルの指定:

<xpath objectModel="http://saxon.sf.net/jaxp/xpath/om" resultType="java.lang.String">current-dateTime()</xpath>
Copy to Clipboard Toggle word wrap

推奨されるアプローチは、次のように saxon=true を設定することです。

<xpath saxon="true" resultType="java.lang.String">current-dateTime()</xpath>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat