32.7. 述語

基本的な述語

Java DSL や XML DSL では、xpath を述語が期待されるコンテキストで使用できます。たとえば、when() プロセッサーや、filter() 句の引数として使用できます。

たとえば、以下のルートは、/person/city 要素に London という値が含まれている場合にのみ受信メッセージをフィルターリングし、メッセージの通過を許可します。

from("direct:tie")
    .filter().xpath("/person/city = 'London'").to("file:target/messages/uk");

以下のルートは、when() 句の XPath 述語を評価します。

from("direct:tie")
    .choice()
        .when(xpath("/person/city = 'London'")).to("file:target/messages/uk")
        .otherwise().to("file:target/messages/others");

XPath 述語演算子

XPath 言語は、表32.2「XPath 言語の演算子」 に示されているように、標準の XPath 述語演算子をサポートしています。

表32.2 XPath 言語の演算子

演算子説明

=

等しい

!=

等しくない。

>

より大きい

>=

より大きいか等しいか。

<

より小さい

より小さいか等しいか。

および

2 つの述語を論理 で組み合わせます。

または

2 つの述語を論理 で組み合わせます。

not()

述語の引数を否定にします。