---
schema_version: "1"
id: c3b0ab0f3319f3e70874367fe7fea222e760ab7de475e7a0b8b41c5ec34cd609
title: XML 形式
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.3/dataweave-formats-xml.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-formats-xml
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 80cd4139ef353896bc873b48db420ab63e56f463c3d65ba7461158bf72f16b93
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# XML 形式

MIME タイプ: `application/xml`​

ID: `xml`​

XML データ構造は、他のオブジェクト、文字列、または ​`null`​ 値が含まれている可能性がある DataWeave オブジェクトにマップされます。XML で無制限要素を使用してコレクションを表します。コレクションは DataWeave オブジェクトの反復キーにマップされます。また、DataWeave では ​`namespaces`​、​`CData`​、​`xsi:types`​ がネイティブにサポートされます。

XML 入力の DataWeave リーダーでは、次の解析戦略がサポートされます。

- インデックス付き
- メモリ内
- ストリーミング

DataWeave リーダーおよびライターでこの形式に適用できる解析戦略を理解するには、​[「DataWeave 解析戦略」](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-formats#dw_readers_writers)​を参照してください。

## [](#format_xml_cdata)CData カスタム型

`CData`​ は、文字データ (CDATA) ブロックを識別するために使用する XML のカスタム DataWeave データ型です。​`CData`​ 型は、​`CDATA`​ ブロック内でコンテンツをラップするか、​`CDATA`​ ブロック内に入力文字列があるかどうかを確認するように XML ライターに指示します。DataWeave では、​`CData`​ は型 ​`String`​ から継承されます。

## [](#examples)例

次の例は、XML 形式の使用方法を示しています。

- [例: 入力 XML データをストリーミング](#example1)​
- [例: XML の null または空の文字列](#example2)​
- [例: 欠落している XML 値に対して ​`null`​ 値を出力](#example3)​
- [例: 欠落している XML 値に対して ​`null`​ 値を出力](#example4)​
- [例: XML 属性を DataWeave (dw) 形式で表す](#example5)​
- [例: XML 名前空間を DataWeave (dw) 形式で表す](#example6)​
- [例: CDATA 要素を作成](#example7)​
- [例: `String`​ に CDATA があるかどうかを確認](#example8)​
- [例: `inlineCloseOn`​ ライタープロパティを使用](#example9)​
- [例: 反復 JSON キーを反復 XML 要素に変換](#example10)​
- [例: XML 要素を JSON 形式に変換して文字を置換](#example11)

### [](#example1)例: 入力 XML データをストリーミング

次の例は、XML ストリーミングの設定方法を示しています。ユーザーは次のリーダープロパティを指定する必要があります。

- `streaming=true`
- `collectionPath="root.repeated"`

`collectionPath`​ 設定では、ストリーミングする要素を選択します。

ストリーミング時は、XML パーサーはすべての XML コンテンツがなくてもコンテンツの処理を開始できます。

#### [](#入力)入力

次の XML が DataWeave ソースへの入力ペイロードとして機能します。これは ​`myXML.xml`​ ファイルのコンテンツであるとします。

myXML.xml

```xml
<root>
    <text>
        Text
    </text>
    <repeated>
        <user>
            <name>Mariano</name>
            <lastName>de Achaval</lastName>
            <age>36</age>
        </user>
        <user>
            <lastName>Shokida</lastName>
            <name>Leandro</name>
            <age>30</age>
        </user>
        <user>
            <age>29</age>
            <name>Ana</name>
            <lastName>Felissati</lastName>

        </user>
        <user>
            <age>29</age>
            <lastName>Chibana</lastName>
            <name>Christian</name>
        </user>

    </repeated>
</root>
```

#### [](#ソース)ソース

DataWeave スクリプトのリーダープロパティ設定は、入力をストリーミングして反復キーを処理するように XML リーダーに指示します。スクリプトは DataWeave ​`map`​ 関数を使用して反復キーを反復処理します。

```dataweave
%dw 2.0
var myInput  readUrl('classpath://myXML.xml', 'application/xml', {streaming:true, collectionPath: "root.repeated"})
output application/dw
---
myInput.root.repeated.*user map {
    n: $.name,
    l: $.lastName,
    a: $.age
}
```

#### [](#出力)出力

スクリプトは、マップされた入力 XML を DataWeave (dw) 形式および MIME タイプに変換します。

```json
[
  {
    "n": "Mariano",
    "l": "de Achaval",
    "a": "36"
  },
  {
    "n": "Leandro",
    "l": "Shokida",
    "a": "30"
  },
  {
    "n": "Ana",
    "l": "Felissati",
    "a": "29"
  },
  {
    "n": "Christian",
    "l": "Chibana",
    "a": "29"
  }
]
```

### [](#example2)例: XML の null または空の文字列

XML で ​`null`​ 値を表す標準の方法はないため、​`nil`​ 属性が ​`true`​ に設定されている場合、リーダーは値を ​`null`​ にマップします。

#### [](#入力-2)入力

次の XML が DataWeave ソースへの入力ペイロードとして機能します。 `<xsi:nil="true"`​/> の ​`nil`​ 設定に注意してください。

```xml
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <author xsi:nil="true"/>
</book>
```

#### [](#ソース-2)ソース

DataWeave スクリプトは入力 XML を JSON 形式および MIME タイプに変換します。

```dataweave
%dw 2.0
output application/json
---
payload
```

#### [](#出力-2)出力

出力は JSON 形式です。入力の ​`nil`​ 値が ​`null`​ に変換されていることに注意してください。

```json
{
  "book": {
    "author": null
  }
}
```

### [](#example3)例: 欠落している XML 値に対して ​`null`​ 値を出力

XML リーダープロパティ ​`nullValueOn`​ は、値 ​`blank`​ (デフォルト) または ​`empty`​ を受け入れます。

次の例では ​`nullValueOn`​ のデフォルトを使用するため、​`title`​ および ​`author`​ 要素の値を ​`null`​ にマップします。

#### [](#入力-3)入力

次の XML が DataWeave ソースへの入力として機能します。​`title`​ および ​`author`​ 要素の値がないことに注意してください。

この入力はファイル ​`myInput.xml`​ 内のコンテンツであるとします。

myXML.xml コンテンツ:

```xml
<book>
    <author></author>
    <title>

</title>
</book>
```

#### [](#ソース-3)ソース

DataWeave スクリプトは XML 入力を JSON に変換します。デモ目的で ​`nullValueOn`​ のデフォルト (​`blank`​) が明示的に設定されていることに注意してください。

```dataweave
%dw 2.0
var myInput readUrl('classpath://myXML.xml', 'application/xml', {nullValueOn: "blank"})
output application/json
---
myInput
```

#### [](#出力-3)出力

JSON 出力の ​`title`​ および ​`author`​ キーは ​`null`​ 値に割り当てられます。

```json
{
  "book": {
    "author": null,
    "title": null
  }
}
```

### [](#example4)例: 欠落している XML 値に対して ​`null`​ 値を出力

XML リーダープロパティ ​`nullValueOn`​ は、値 ​`blank`​ (デフォルト) または ​`empty`​ を受け入れます。

次の例では、XML リーダープロパティ ​`nullValueOn`​ が ​`empty`​ に設定されているため、​`title`​ 要素の値を ​`String`​ にマップし、​`author`​ 要素の値を ​`null`​ にマップします。

#### [](#入力-4)入力

次の XML が DataWeave ソースへの入力として機能します。​`title`​ および ​`author`​ 要素の値がないことに注意してください。この 2 つの要素の違いは、開始タグと終了タグ間のスペースにあります。​`title`​ 要素のタグは改行 (非表示文字 ​`\n`​) によって分割されていますが、​`author`​ 要素のタグはどの文字によっても分割されていません。

この入力はファイル ​`myInput.xml`​ 内のコンテンツであるとします。

myXML.xml コンテンツ:

```xml
<book>
    <author></author>
    <title>

</title>
</book>
```

#### [](#ソース-4)ソース

DataWeave スクリプトは DataWeave 変数を使用して ​`myXML.xml`​ のコンテンツを入力し、​`nullValueOn: "empty"`​ を適用します。スクリプトは XML 入力を JSON に変換します。

```dataweave
%dw 2.0
var myInput readUrl('classpath://myXML.xml', 'application/xml', {nullValueOn: "empty"})
output application/json
---
myInput
```

#### [](#出力-4)出力

JSON 出力では ​`author`​ 要素の値が ​`null`​ にマップされ、​`title`​ 要素の値が ​`String`​ 値の ​`"\n\n"`​ (改行文字) にマップされます。

```json
{
  "book": {
    "author": null,
    "title": "\n\n"
  }
}
```

### [](#example5)例: XML 属性を DataWeave (dw) 形式で表す

次の例では、XML 属性を正規 DataWeave 表現 (​`application/dw`​ 形式および MIME タイプ) にマップします。

#### [](#入力-5)入力

この XML が DataWeave ソースへの入力ペイロードとして機能します。入力に XML 属性が含まれていることに注意してください。

```xml
<users>
  <company>MuleSoft</company>
  <user name="Leandro" lastName="Shokida"/>
  <user name="Mariano" lastName="Achaval"/>
</users>
```

#### [](#ソース-5)ソース

DataWeave スクリプトは XML 入力ペイロードを DataWeave (dw) 形式および MIME タイプに変換します。

```dataweave
%dw 2.0
output application/dw
---
payload
```

#### [](#出力-5)出力

出力は、XML 入力が DataWeave (dw) 形式でどのように表されるかを示しています。XML 入力からの属性と空の値がどのように表されているかに注意してください。

```dataweave
{
  users: {
    company: "MuleSoft",
    user @(name: "Leandro",lastName: "Shokida"): "",
    user @(name: "Mariano",lastName: "Achaval"): ""
  }
}
```

### [](#example6)例: XML 名前空間を DataWeave (dw) 形式で表す

次の例では、XML 名前空間を正規 DataWeave 表現 (​`application/dw`​ 形式および MIME タイプ) にマップします。

#### [](#入力-6)入力

この XML が DataWeave ソースへの入力ペイロードとして機能します。入力に XML 名前空間が含まれていることに注意してください。

```xml
<root>
    <h:table xmlns:h="http://www.w3.org/TR/html4/">
      <h:tr>
        <h:td>Apples</h:td>
        <h:td>Bananas</h:td>
      </h:tr>
    </h:table>

    <f:table xmlns:f="https://www.w3schools.com/furniture">
      <f:name>African Coffee Table</f:name>
      <f:width>80</f:width>
      <f:length>120</f:length>
    </f:table>
</root>
```

#### [](#ソース-6)ソース

DataWeave スクリプトは XML 入力ペイロードを DataWeave (dw) 形式および MIME タイプに変換します。

```dataweave
%dw 2.0
output application/dw
---
payload
```

#### [](#出力-6)出力

出力は、XML 入力が DataWeave (dw) 形式でどのように表されるかを示しています。XML からの名前空間がどのように表されているかに注意してください。

```dataweave
ns h http://www.w3.org/TR/html4/
ns f https://www.w3schools.com/furniture
---
{
  root: {
      h#table: {
        h#tr: {
          h#td: "Apples",
          h#td: "Bananas"
        }
      },
      f#table: {
        f#name: "African Coffee Table",
        f#width: "80",
        f#length: "120"
      }
  }
}
```

### [](#example7)例: CDATA 要素を作成

次の例は、​`CData`​ 型を使用して XML 出力内で CDATA 要素を作成する方法を示しています。

#### [](#ソース-7)ソース

DataWeave スクリプトの本文では、​`String`​ 値が ​`CData`​ 型に型強制されます。

```dataweave
%dw 2.0
output application/xml
---
{
    test: "A text <a>" as CData
}
```

#### [](#出力-7)出力

出力では、入力の ​`String`​ 値が CDATA ブロックで囲まれ、CDATA ブロックには入力からの特殊文字 (​`<`​ と ​`>`​) が含まれます。

```xml
<?xml version='1.0' encoding='UTF-8'?>
<test><![CDATA[A text <a>]]></test>
```

### [](#example8)例: `String`​ に CDATA があるかどうかを確認

次の例は、提供された ​`String`​ 値が CDATA かどうかを示しています。

#### [](#入力-7)入力

この XML が DataWeave ソースへの入力ペイロードとして機能します。​`test`​ 要素に CDATA ブロックが含まれていることに注意してください。

```xml
<?xml version='1.0' encoding='UTF-8'?>
<test><![CDATA[A text <a>]]></test>
```

#### [](#ソース-8)ソース

DataWeave スクリプトは ​`is CData`​ 式を使用して ​`String`​ 値が CDATA かどうかを判別します。

```dataweave
%dw 2.0
output application/json
---
{
    test: payload.test is CDATA
}
```

#### [](#出力-8)出力

JSON 出力には、入力の ​`true`​ 値が CDATA であることを示す値 ​`String`​ が含まれます。

```json
{
    "test": true
}
```

### [](#example9)例: `inlineCloseOn`​ ライタープロパティを使用

次の例では、​`inlineCloseOn`​ ライタープロパティを値 ​`none`​ と共に使用して、入力からのキー-値ペアに基づいてアクションを実行します。

#### [](#ソース-9)ソース

DataWeave スクリプトは本文コンテンツを XML に変換します。​`emptyElement`​ キーの値が ​`null`​ であることに注意してください。

```dataweave
%dw 2.0s
output application/xml inlineCloseOn="none"
---
{
  someXml: {
    parentElement: {
      emptyElement1: null,
      emptyElement2: null,
      emptyElement3: null
    }
  }
}
```

#### [](#出力-9)出力

`emptyElement`​ 要素は空です。これに値 ​`null`​ は含まれません。

```xml
<?xml version='1.0' encoding='UTF-8'?>
<someXml>
  <parentElement>
    <emptyElement1></emptyElement1>
    <emptyElement2></emptyElement2>
    <emptyElement3></emptyElement3>
  </parentElement>
</someXml>
```

### [](#example10)例: 反復 JSON キーを反復 XML 要素に変換

XML は反復 (無制限) 要素を使用してコレクションをエンコードします。DataWeave では、同じキーを繰り返して無制限の要素を表します。

次の例は、オブジェクトの JSON 配列内の反復キーを反復 XML 要素に変換する方法を示しています。

#### [](#入力-8)入力

この JSON 入力が DataWeave ソースへのペイロードとして機能します。配列内の ​`name`​ キーが反復していることに注意してください。

```json
{
  "friends": [
    {"name": "Mariano"},
    {"name": "Shoki"},
    {"name": "Tomo"},
    {"name": "Ana"}
  ]
}
```

#### [](#ソース-10)ソース

DataWeave スクリプトは、​`friends`​ キーの値を選択します。

```dataweave
%dw 2.0
output application/xml
---
friends: {
    (payload.friends)
}
```

#### [](#出力-10)出力

出力では、​`name`​ キーが XML 要素として表されます。

```xml
<?xml version='1.0' encoding='UTF-8'?>
<friends>
  <name>Mariano</name>
  <name>Shoki</name>
  <name>Tomo</name>
  <name>Ana</name>
</friends>
```

[「自己終了 XML タグの出力」の例](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-output-self-closing-xml-tags)​も参照してください。

### [](#example11)例: XML 要素を JSON 形式に変換して文字を置換

この例では、​`Id`​、​`Name`​、​`Address`​ など、従業員の詳細を含む XML ファイルを反復処理して、ファイルを JSON 形式に変換します。DataWeave スクリプトでは、​`replace`​ 関数を使用して各 ​`Address`​ 要素を反復処理し、文字 ​`-`​ と ​`/`​ を空白スペースに置き換えます。

#### [](#入力-9)入力

この XML 入力が DataWeave ソースへのペイロードとして機能します。​`Address`​ 要素に ​`-`​ と ​`/`​ の文字が含まれていることに注意してください。

```xml
<?xml version='1.0' encoding='UTF-8'?>
<root>
<employees>
<Id>1</Id>
<Name>Mule</Name>
<Address>MuleSoft Avenue - 123</Address>
</employees>
<employees>
<Id>2</Id>
<Name>Max</Name>
<Address>MuleSoft Avenue-456/5/e</Address>
</employees>
</root>
```

#### [](#ソース-11)ソース

次の DataWeave スクリプトでは、ペイロード要素を反復処理して、オブジェクトへのマッピングを実行します。​`payload01.Address replace /([\-\,\/])/ with " "`​ の指示により、​`-`​ と ​`/`​ の文字が空白スペースに置き換えられます。

```dataweave
%dw 2.0
output application/json
---
payload.root.*employees map ((payload01 , indexOfPayload01) ->
{ Id: payload01.Id as String, Name: payload01.Name as String, Address: payload01.Address replace /([\-\,\/])/ with " " }
)
```

#### [](#出力-11)出力

出力は、JSON に変換された XML 要素を表します。

```JSON
[
  {
    "Id": "1",
    "Name": "Mule",
    "Address": "MuleSoft Avenue   123"
  },
  {
    "Id": "2",
    "Name": "Max",
    "Address": "MuleSoft Avenue 456 5 e"
  }
]
```

## [](#properties)Configuration のプロパティ

DataWeave では、XML 形式に対して次の設定プロパティがサポートされます。

### [](#reader-のプロパティ)Reader のプロパティ

XML 形式は、入力データを読み取るための指示を提供するプロパティを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 50.0002%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">型</th>
<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"><p class="tableblock"><code>collectionPath</code>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>null</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>コレクションが配置されているドキュメントへのパス。ストリーミングする要素の場所を識別するパス式を指定します。「​<a href="#example1">例: 入力 XML データをストリーミング</a>​」を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>externalEntities</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>外部エンティティを処理する必要があるかどうかを示します。デフォルトでは、これは XXE 攻撃を回避するために無効になっています。
有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>indexedReader</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>true</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>DataWeave では、しきい値に達したとき、デフォルトでインデックス付きリーダーを使用します。US-ASCII、UTF-8、および ISO-8859-1 エンコードのみをサポートします。他のエンコードでは、​<code>false</code>​ に設定されている場合、DataWeave ではメモリ内リーダーを使用します。有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>maxAttributeSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Number</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>-1</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>XML 属性で受け入れられる最大文字数を設定します。Mule 4.2.1 以降で使用できます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>maxEntityCount</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Number</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>1</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>エンティティ拡張の最大数。
この制限は、Billion Laughs 攻撃を回避するために設定されます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>nullValueOn</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>blank</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>空または空白のテキストを含む要素を ​<code>null</code>​ 値として読み取るかどうかを示します。有効な値は、​<code>empty</code>​、​<code>none</code>​、​<code>blank</code>​ です。「​<a href="#example3">例: 欠落している XML 値に対して ​<code>null</code>​ 値を出力</a>​」と「​<a href="#example4">例: 欠落している XML 値に対して ​<code>null</code>​ 値を出力</a>​」を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>optimizeFor</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>'speed'</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>XML パーサーの設定方法を示します。有効な値は、​<code>speed</code>​ と ​<code>memory</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>streaming</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>入力をストリーミングするかどうかを示します (エントリを順次アクセスする場合のみ使用します)。有効なオプションは、​<code>true</code>​ または ​<code>false</code>​ です。「​<a href="#example1">例: 入力 XML データをストリーミング</a>​」を参照してください。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>supportDtd</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>DTD サポートを有効または無効にします。無効にすると、内部および外部のサブセットがスキップされ、処理されません。有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。Mule システムプロパティ ​<code>com.mulesoft.dw.xml.supportDTD</code>​ を設定してこのプロパティを有効にすることもできます。このプロパティのデフォルトは、Mule バージョン 4.3.0-20210601 (2021 年 6 月の DataWeave バージョン 2.3.0 のパッチを含む) で ​<code>true</code>​ から ​<code>false</code>​ に変更されました。</p>
</div></div></td>
</tr>
</tbody>
</table>

### [](#writer-のプロパティ)Writer のプロパティ

XML 形式は、出力データを書き込むための指示を提供するプロパティを受け入れます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 16.6666%;">
<col style="width: 50.0002%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">型</th>
<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"><p class="tableblock">​<code>bufferSize</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Number</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>8192</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>バッファライターのサイズ。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>encoding</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>使用するライターのエンコード。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>deferred</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>true</code>​ に設定すると、DataWeave は出力をデータストリームとして生成し、スクリプトの実行はそれがコンシュームされるまで延期されます。
  有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>escapeCR</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>キャリッジリターン (CR) をエスケープするかどうか。
有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。Mule 4.2.1 以降で使用できます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>indent</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>true</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>コードをインデントして読みやすくするか、コードを 1 行に圧縮するかを示します。
有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>inlineCloseOn</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>empty</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>ライターでどのような場合にインラインの終了タグを使用し、どのような場合に開始終了タグを使用するかを示します。
有効な値は、​<code>empty</code>​ または ​<code>none</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>onInvalidChar</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>有効な値は、​<code>base64</code>​、​<code>ignore</code>​、​<code>none</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>skipNullOn</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>String</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>null</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>指定されたデータ構造の ​<code>null</code>​ 値をスキップします。デフォルトでは、ライターはスキップしません。有効な値は、​<code>elements</code>​、​<code>attributes</code>​、​<code>everywhere</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>writeDeclaration</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>true</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>XML ヘッダーの宣言を書き込むかどうかを示します。有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>writeNilOnNull</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>Boolean</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">​<code>false</code></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>値が ​<code>null</code>​ の場合に nil 属性を書き込むかどうかを示します。有効な値は、​<code>true</code>​ または ​<code>false</code>​ です。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#mime_type)サポートされる MIME タイプ

XML 形式では、次の MIME タイプがサポートされます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 100%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">MIME タイプ</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>*/xml</code>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong>/</strong>+xml</code>​</p></td>
</tr>
</tbody>
</table>