DataWeave での優先順位

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了Leaving the Siteします。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

『標準サポートが適用されている最新バージョンの Mule 4 にアップグレード』​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

DataWeave 式は特定の順序でコンパイルされます。1 つのレベルのコンパイル結果をより高いレベルの式の入力として使用することはできますが、より低いレベルの式の入力として使用することはできません。

次の表では、演算子と関数を、最初にコンパイルされるもの (1) から最後にコンパイルされるもの (10) への順に並べています。

レベル 演算子または関数

1

  • using​: DataWeave スクリプトでローカル変数を初期化するために使用。

  • このレベルの DataWeave 単項演算子:

    • .^​: スキーマセレクタ。

    • .#​: 名前空間セレクタ。

    • ..​: 子孫セレクタ。

    • not​: 否定の論理演算子。

    • .@​: 全属性セレクタ。オブジェクトの配列 ​{ "attr1": "foo", "attr2": "bar" }​ 内で入力ペイロード ​<root> <a attr1="foo" attr2="bar" /></root>​ の属性と値を返す式 ​payload.root.a.@​ を使用する場合などで使用。

2

  • as​: 型強制に使用。

3

  • *​: 乗算。

  • /​: 除算。

4

  • +​: 加算。

  • -​: 減算。

  • >>​: データを先頭に追加。

  • <<​: データを末尾に付加。

5

6

  • !=​: 等しくない。

  • ~=​: 含む。

  • ==​: 値の型が異なる場合、等価演算子は、1 つの値をもう 1 つの値の型に強制変換しようとします。

7

  • and​: and​ 論理演算子。

8

  • or​: or​ 論理演算子。

9

  • default​: デフォルト値の設定に使用。

  • case​ と ​else​: パターン照合に使用。

  • このレベルの DataWeave 関数:

    • matches

    • match

    • map

    • mapObject

    • groupBy

    • filter

  • このレベルの DataWeave バイナリセレクタ:

    • .@keyName​ と ​.*@​: DataWeave バイナリ属性セレクタ。

    • .*​: 複数値セレクタ。

    • .^​: メタデータセレクタ。

    • .&​: キー/値ペアセレクタ

    • [?()]​: 絞り込みセレクタ

  • .keyName​: 値セレクタ。

  • [<index> to <index>]​: 範囲セレクタ。

10

  • if else​: DataWeave でのフロー制御に使用する条件式。