XML Module リファレンス - Mule 4

XML Module v1.4

XML Module は XML ドキュメントからデータを抽出して処理できます。このモジュールは、高度なユースケース、または XML 標準 (XSLT、XPath、および XQuery または XSD など) に関連したユースケースで使用する必要があります。DataWeave はこうしたユースケースの大半に完全に対応しており、ほとんどの場合はこれらの標準を置換できるだけでなく、推奨の方法でもあります。

設定


デフォルト設定

デフォルト設定

パラメーター

名前 説明 デフォルト値 必須

Name (名前)

String (文字列)

この設定の名前。コネクタはこの名前の設定を参照します。

x

名前空間

プレフィックスをグローバルに名前空間の URI にマップできます。このバージョンでは、xpath-extract 操作はこうしたマッピングをコンシュームする唯一の操作です。

Expand Entities (エンティティを拡張)

Enumeration (列挙)。次のいずれかになります。

  • NEVER

  • INTERNAL

  • ALL (すべて)

エンティティ拡張の処理方法を定義します。NEVER (指定しない) 以外の値を設定すると、アプリケーションが XXE または DoS 攻撃に対して脆弱になります。

NEVER

Expiration Policy (有効期限ポリシー)

動的設定インスタンスがアイドル状態を続けられる最小時間を設定します。この時間が経過すると、Runtime で期限切れに相当するとみなされます。これは、インスタンスが有効期限の対象となった瞬間にプラットフォームでそのインスタンスが期限切れになるということではありません。ランタイムによって適切と判断されたときに、インスタンスが実際にパージされます。

操作

Validate Schema

<xml-module:validate-schema>

入力コンテンツが指定したスキーマに準拠していることを検証します。この操作では、相互を含む多数のスキーマの参照がサポートされます (カンマを区切り文字に使用)。

スキーマコンテンツを追加するには、スキーマとスキーマコンテンツの両方ではなくいずれかのみを指定します。​[Schemas (スキーマ)]​ 項目でファイルをアップロードするか、または ​[Schema contents (スキーマコンテンツ)]​ 項目で直接スキーマテキストコンテンツを手動で追加することができます。

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Schemas (スキーマ)

String (文字列)

スキーマファイルへのパス。カンマ区切り文字を使用して複数のスキーマの場所を指定できます。

x

Schema Contents (スキーマコンテンツ)

スキーマ検証を実行するためのスキーマテキストコンテンツ。

Schema Language (スキーマ言語)

Enumeration (列挙)。次のいずれかになります。

  • W3C

  • RELAXNG

使用するスキーマ言語。

W3C

Content (コンテンツ)

Binary (バイナリ)

検証する XML コンテンツ。

#[payload]

Expand Entities (エンティティを拡張)

Enumeration (列挙)。次のいずれかになります。

  • NEVER

  • INTERNAL

  • ALL (すべて)

XXE 攻撃および DoS 攻撃を防ぐには NEVER (指定しない) に設定します。

次の設定の場合

スロー

  • XML-MODULE:INVALID_INPUT_XML

  • XML-MODULE:INVALID_SCHEMA

  • XML-MODULE:SCHEMA_NOT_FOUND

  • XML-MODULE:SCHEMA_NOT_HONOURED

  • XML-MODULE:TRANSFORMATION

  • XML-MODULE:SCHEMA_INPUT_ERROR​

XPath Extract

<xml-module:xpath-extract>

入力コンテンツの XPath 式を評価し、結果を返します。<p> XPath 式は各要素の任意の数値に一致する可能性があるため、この操作によって文字列のリストが返されます。式に一致する要素がなかった場合、空のリストが返されます。<p> XPath 式も名前空間に対応しています。この操作で名前空間のマッピングを設定できるのはこのためです。これらのマッピングは、参照される名前空間ディレクトリで必要に応じて定義されるマッピングとマージされます。つまり、評価では両方の名前空間のマッピングのセットが組み合わされます。

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Content (コンテンツ)

Binary (バイナリ)

XPath が評価される XML コンテンツ。

#[payload]

Xpath

String (文字列)

XPath スクリプト。

x

Context Properties (コンテキストプロパティ)

Object (オブジェクト)

変換コンテキストに対して使用可能になるプロパティ。

名前空間

この評価で使用される名前空間のマッピング。config 要素のマッピングと組み合わされます。

Namespace Directory (名前空間ディレクトリ)

ベース名前空間マッピングを取得する名前空間ディレクトリ。

Expand Entities (エンティティを拡張)

Enumeration (列挙)。次のいずれかになります。

  • NEVER

  • INTERNAL

  • ALL (すべて)

XXE 攻撃および DoS 攻撃を防ぐには NEVER (指定しない) に設定します。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

出力

Array of String (文字列の配列)

次の設定の場合

スロー

  • XML-MODULE:INVALID_INPUT_XML

  • XML-MODULE:INVALID_XPATH_EXPRESSION

  • XML-MODULE:NULL_CONTEXT_PROPERTY

  • XML-MODULE:TRANSFORMATION

XQuery Transform

<xml-module:xquery-transform>

XQuery を使用して入力コンテンツを変換します。XQuery 実行で使用可能になる変換コンテキストプロパティを設定できます。

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Content (コンテンツ)

Binary (バイナリ)

変換する XML コンテンツ。

#[payload]

Xquery

String (文字列)

XQuery スクリプト定義。

x

Context Properties (コンテキストプロパティ)

Object (オブジェクト)

変換コンテキストに対して使用可能になるプロパティ。

Expand Entities (エンティティを拡張)

Enumeration (列挙)。次のいずれかになります。

  • NEVER

  • INTERNAL

  • ALL (すべて)

XXE 攻撃および DoS 攻撃を防ぐには NEVER (指定しない) に設定します。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

出力

Array of String (文字列の配列)

次の設定の場合

スロー

  • XML-MODULE:INVALID_INPUT_XML

  • XML-MODULE:NULL_CONTEXT_PROPERTY

  • XML-MODULE:TRANSFORMATION

XSLT Transform

<xml-module:xslt-transform>

XSLT を使用して入力コンテンツを変換します。スタイルシートで使用可能になる変換コンテキストプロパティを設定できます。

パラメーター

名前 説明 デフォルト値 必須

Configuration (設定)

String (文字列)

使用する設定の名前。

x

Content (コンテンツ)

Binary (バイナリ)

変換する XML コンテンツ。

#[payload]

Xslt

String (文字列)

XSLT スクリプト定義。

x

Context Properties (コンテキストプロパティ)

Object (オブジェクト)

変換コンテキストに対して使用可能になるプロパティ。

Expand Entities (エンティティを拡張)

Enumeration (列挙)。次のいずれかになります。

  • NEVER

  • INTERNAL

  • ALL (すべて)

XXE 攻撃および DoS 攻撃を防ぐには NEVER (指定しない) に設定します。

Output Mime Type (出力 MIME タイプ)

String (文字列)

この操作で出力されるペイロードの MIME タイプ。

Target Variable (対象変数)

String (文字列)

操作の出力が格納される変数の名前

Target Value (対象値)

String (文字列)

操作の出力に対して評価される式。その式の結果は対象変数に保存されます。

#[payload]

出力

String (文字列)

次の設定の場合

スロー

  • XML-MODULE:INVALID_INPUT_XML

  • XML-MODULE:NULL_CONTEXT_PROPERTY

  • XML-MODULE:TRANSFORMATION

Namespace (名前空間)

項目 説明 デフォルト値 必須

Prefix (プレフィックス)

String (文字列)

XML ドキュメントで使用されるプレフィックス。

x

Uri

String (文字列)

名前空間の URI。

x

Expiration Policy (有効期限ポリシー)

項目 説明 デフォルト値 必須

Max Idle Time (最大アイドル時間)

Number (数値)

有効期限の対象とみなされるまで、動的設定インスタンスがアイドル状態を維持できる最大時間のスカラー時間値

Time Unit (時間単位)

Enumeration (列挙)。次のいずれかになります。

  • NANOSECONDS (ナノ秒)

  • MICROSECONDS (マイクロ秒)

  • MILLISECONDS (ミリ秒)

  • SECONDS (秒)

  • MINUTES (分)

  • HOURS (時間)

  • DAYS (日)

maxIdleTime 属性の時間単位

Schema Content (スキーマコンテンツ)

項目 説明 デフォルト値 必須

Schema Name (スキーマ名)

String (文字列)

定義するスキーマ名コンテンツ。

x

Schema Text (スキーマテキスト)

String (文字列)

定義するスキーマテキストコンテンツ。

x

Namespace Directory (名前空間ディレクトリ)

項目 説明 デフォルト値 必須

名前空間

グローバルにプレフィックスを名前空間の URI にマップします。このバージョンでは、xpath-extract 操作はこうしたマッピングをコンシュームする唯一の操作です。