文字列リテラルから xpath 式を実行しようとしています。いくつかの変数から xpath を作成するので、変数を事前に計算することはできません。私はこのようなsthで終わります:
count(concat("//sales:", "$variable", "Available"))
エラーが発生します。
Can not convert #STRING to a NodeList!
concat の結果を何らかの形でevaluate()して、実際の NodeList になるようにすれば十分だと思います。これを行うための適切な機能はありますか?
私は Apache Camel でこのテキスト操作を行っていますが、それほど重要ではありません。
編集:
より正確に言うと、Apache Camel はパイプラインとして機能し、XML はパイプラインを通過し、それらの XML をいくつかの方法で処理できます。たとえば、XML のコンテンツまたは構造に基づいていくつかのルールを課すことができます。そのため、これを動的にする必要があります。
私の状況は次のようになります。
- xml を見て、要素operationNameの内容を取得します
- 他のドキュメントで、小文字のoperationNameと文字列リテラル 'Available'から構成される要素を検索します
したがって、私のoperationNameが FOOBAR の場合、ノード//sales:foobarAvailableの存在を確認したい