---
schema_version: "1"
id: c2496edc75350873ec4c9ab9b4525f4d44ba151eca964ca6050b538cbee571be
title: 複数の入力の参照
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.3/dataweave-cookbook-reference-multiple-inputs.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-reference-multiple-inputs
source_site: docs.mulesoft.com
content_type: documentation
content_hash: f1f4f4d433250fe64ccb74d5994437cd591d91c92668beb1e4e6643f7d2dece0
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# 複数の入力の参照

この DataWeave の例では、3 つの異なる入力 JSON ファイル (ペイロード、変数、属性) を取得します。これらのすべては、同じ Mule イベントの意一部です。ペイロードには本のオブジェクトの配列が含まれ、変数には一連の通貨換算レートがあり、属性ではクエリとして使用される年を指定します。 開始する前に、DataWeave バージョン 2 (​`%dw 2.0`​) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave バージョン 1 (​[`%dw 1.0`](#3.9@mule-runtime::dataweave-examples.adoc)​) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。

この例では、以下を使用します。

- 入力属性で指定した日付よりも古い本を除外する ​`filter`​。
- 入力配列の各本を調べる ​`map`​。その後に変数の通貨を調べてそれぞれの本の価格を計算する別の ​`map`​ 関数。複数ある場合に本のすべての著者をリストする 3 番目の ​`map`​ 関数。
- 出力の XML 属性を定義する ​`@`​。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/xml
---
books: {
  (payload filter ($.properties.year > attributes.publishedAfter) map  (item)   ->  {
    book @(year: item.properties.year): {
      (vars.exchangeRate.USD map {
        price @(currency: $.currency): $.ratio * item.price
      }),
      title: item.properties.title,
      authors: { (item.properties.author map {
        author: $
      }) }
    }
  } )
}
```

入力 JSON ペイロード:

```json
[
  {
      "type": "book",
      "price": 30,
      "properties": {
        "title": "Everyday Italian",
        "author": [
          "Giada De Laurentiis"
        ],
        "year": 2005
      }
  },
  {
      "type": "book",
      "price": 29.99,
      "properties": {
        "title": "Harry Potter",
        "author": [
          "J K. Rowling"
        ],
        "year": 2005
      }
  },
  {
      "type": "book",
      "price": 41.12,
      "properties": {
        "title": "Mule in Action",
        "author": [
          "David Dossot",
          "John D'Emic"
        ],
        "year": 2009
      }
  },
  {
      "type": "book",
      "price": 49.99,
      "properties": {
        "title": "XQuery Kick Start",
        "author": [
          "James McGovern",
          "Per Bothner",
          "Kurt Cagle",
          "James Linn",
          "Kurt Cagle",
          "Vaidyanathan Nagarajan"
        ],
        "year": 2003
      }
  },
  {
      "type": "book",
      "price": 39.95,
      "properties": {
        "title": "Learning XML",
        "author": [
          "Erik T. Ray"
        ],
        "year": 2003
      }
  }
]
```

入力属性:

```json
{
  "publishedAfter": 2004
}
```

入力変数 ​`exchangeRate`​:

```json
{
  "USD": [
    {"currency": "EUR", "ratio":0.92},
    {"currency": "ARS", "ratio":8.76},
    {"currency": "GBP", "ratio":0.66}
  ]
}
```

出力 XML:

```xml
<?xml version='1.0' encoding='US-ASCII'?>
<books>
  <book year="2005">
    <price currency="EUR">27.60</price>
    <price currency="ARS">262.80</price>
    <price currency="GBP">19.80</price>
    <title>Everyday Italian</title>
    <authors>
      <author>Giada De Laurentiis</author>
    </authors>
  </book>
  <book year="2005">
    <price currency="EUR">27.5908</price>
    <price currency="ARS">262.7124</price>
    <price currency="GBP">19.7934</price>
    <title>Harry Potter</title>
    <authors>
      <author>J K. Rowling</author>
    </authors>
  </book>
  <book year="2009">
    <price currency="EUR">37.8304</price>
    <price currency="ARS">360.2112</price>
    <price currency="GBP">27.1392</price>
    <title>Mule in Action</title>
    <authors>
      <author>David Dossot</author>
      <author>John D'Emic</author>
    </authors>
  </book>
</books>
```

## [](#関連する例)関連する例

- [データの抽出](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-extract-data)
- [個別のオブジェクトの項目のマージ](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook-merge-multiple-payloads)

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

- [DataWeave の型](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-types)
- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-cookbook)