---
schema_version: "1"
id: fb62ab4844e53565f9a4393ce425ca72d2c73e0de66e336bb4f3c299c60b771d
title: Transform Message コンポーネント XML リファレンス
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.5/transform-dataweave-xml-reference.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.5/transform-dataweave-xml-reference
source_site: docs.mulesoft.com
content_type: documentation
content_hash: d72d9d123febf7ff9e2fd2ce8c06e20a21b8f0beb26a766148f7da33b3521530
description: MuleSoft Documentation Site
release: "4.5"
latest: false
---
# Transform Message コンポーネント XML リファレンス

Studio UI を使用して Mule プロジェクトに DataWeave 言語を取り込むだけではなく、Studio の \[XML\] タブまたは外部エディターで、Transform Message コンポーネントをすべて XML で作成して設定することができます。

UI を使用して要素を作成および設定すると、対応する XML 設定が XML エディターで自動的に作成されます。

## [](#名前空間とスキーマの場所)名前空間とスキーマの場所

Mule プロジェクトの最初に、次の連動関係を取り込む必要があります。

```xml
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
      ...
      xsi:schemaLocation="
      ...
      http://www.mulesoft.org/schema/mule/ee/core
      http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
</mule>
```

Transform コンポーネントをキャンバスにドラッグアンドドロップすると、Studio はこれらの連動関係を自動的に追加します。

## [](#eetransform)<ee:transform/>

`<ee:transform>`​ 要素は、Transform コンポーネントのトップレベル XML タグです。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top"><code>&lt;ee:transform&gt;</code>​ Attributes</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>doc:name</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Studio キャンバスに表示される要素の名前を定義します。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>mode</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><a href="https://docs.mulesoft.com/dataweave/latest/dataweave-memory-management#deferred-execution" class="xref page">遅延実行</a>​を参照します。使用可能な値: <code>immediate</code>​ または ​<code>deferred</code>​。​<a href="https://docs.mulesoft.com/dataweave/latest/dataweave-memory-management" class="xref page">DataWeave のメモリ管理</a>​を参照してください。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#transform-コンポーネントへの-dataweave-スクリプトの追加)Transform コンポーネントへの DataWeave スクリプトの追加

[変換](#transformations)​要素内で ​`CDATA`​ を使用して DataWeave コードを XML に入力するか、または外部の ​`.dwl`​ ファイルを参照できます。

この例では、​`<dw:set-payload>`​ 変換要素内で DataWeave スクリプトを作成しています。

```xml
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
  doc:name="Transform" doc:timestamp="1510861248434">
    <ee:message>
        <ee:set-payload>
          <![CDATA[%dw 2.0
            output application/json
            ---
            {
              // YOUR DW SCRIPT
            }
          ]]>
       </ee:set-payload>
    </ee:message>
</ee:transform>
```

次の例では、外部の ​`.dwl`​ ファイルを呼び出して同じ設定を行っています。

```xml
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
  doc:name="Transform" doc:timestamp="1510861248434" doc:mode="immediate">
    <ee:message>
      <ee:set-payload resource="transform.dwl" />
    </ee:message>
</ee:transform>
```

これらのファイルは、デフォルトではプロジェクトの ​`src/main/resources`​ フォルダーにあります。

## [](#transformations)変換

単一の Transform コンポーネント要素 (​`<ee:transform/>`​) で、Mule イベントのすべての部分の内容を指定できます。

- `<ee:message/>`​ には、​`<ee:set-payload/>`​ と ​`<ee:set-attributes/>`​ を定義できます。
- `<ee:variables/>`​ には、1 つまたは複数の ​`<ee:set-variable/>`​ 要素を定義できます。

例

```xml
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
  doc:name="Transform" doc:timestamp="1510861248434">
    <ee:message>
        <ee:set-payload resource="transform.dwl" />
        <ee:set-attributes resource="myattributes.dwl" />
    </ee:message>
    <ee:variables>
        <ee:set-variable variableName="myVar" resource="myvar.dwl"/>
    </ee:variables>
</ee:transform>
```

子要素には、同じ属性の一部を定義できます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">属性</th>
<th class="tableblock halign-left valign-top">説明</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>resource</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>DataWeave 変換スクリプトが格納された ​<code>.dwl</code>​ ファイルを参照します。これらの値は静的に解決されます。たとえば、​<code>&lt;ee:set-payload resource="myscript-${env}.dwl"/&gt;</code>​ を使用すると Transform Message UI で ​<code>Unexpected end of input, expected header or content</code>​ というエラーが発生します。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>variableName</code></p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>出力変数専用で、変数の名前を定義します。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#完全な-xml-の例)完全な XML の例

ペイロード、属性、および変数の変換を作成する例です。

```xml
<ee:transform doc:id="747f74d4-cb66-4f8e-8222-24784e6863ae"
  doc:name="Transform" doc:timestamp="1510861248434">
    <ee:message>
        <ee:set-payload><![CDATA[%dw 2.0

output application/json
---
(payload map (value0, index0) -> {
id: value0.id,
username: value0.username,
address: {
street: value0.address.street
},
website: value0.website
})]]></ee:set-payload>
        <ee:set-attributes><![CDATA[%dw 2.0

output application/json
---
{
reasonPhrase: attributes.reasonPhrase
}]]></ee:set-attributes>
    </ee:message>
    <ee:variables>
        <ee:set-variable variableName="myVar"><![CDATA[%dw 2.0

output application/json
---
{
a: payload[0].phone
}]]></ee:set-variable>
    </ee:variables>
</ee:transform>
```

## [](#関連情報)関連情報

[DataWeave セレクター](https://docs.mulesoft.com/dataweave/latest/dataweave-selectors)