{
  "a": [
    {
      "id": "dw",
      "binary": false,
      "defaultEncoding": "UTF-8",
      "extensions": [
        ".dwl"
      ],
      "defaultMimeType": "application/dw",
      "acceptedMimeTypes": [
        "*/dw"
      ],
      "readerProperties": [
        {
          "name": "privileges",
          "optional": true,
          "defaultValue": "",
          "description": "Accepts a comma-separated list of privileges to use in the format, such as `'Resources,Properties'`.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "onlyData",
          "optional": true,
          "defaultValue": false,
          "description": "Handles only data and not other types of content, such as functions, when set to `true`. The DataWeave parser runs faster in the `onlyData` mode.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "externalResources",
          "optional": true,
          "defaultValue": false,
          "description": "Enables the `readUrl` to read  external entities.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "javaModule",
          "optional": true,
          "defaultValue": false,
          "description": "Enables Java module functions to load.",
          "possibleValues": [
            true,
            false
          ]
        }
      ],
      "writerProperties": [
        {
          "name": "indent",
          "optional": true,
          "defaultValue": "  ",
          "description": "String to use for indenting.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "ignoreSchema",
          "optional": true,
          "defaultValue": false,
          "description": "Ignores the schema when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "onlyData",
          "optional": true,
          "defaultValue": true,
          "description": "Handles only data and not other types of content, such as functions, when set to `true`. The DataWeave parser runs faster in the `onlyData` mode.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "maxCollectionSize",
          "optional": true,
          "defaultValue": -1,
          "description": "Maximum number of elements allowed in an array or an object. `-1` indicates no limitation.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "json",
      "binary": false,
      "defaultEncoding": "UTF-8",
      "extensions": [
        ".json"
      ],
      "defaultMimeType": "application/json",
      "acceptedMimeTypes": [
        "*/json",
        "*/*+json"
      ],
      "readerProperties": [
        {
          "name": "streaming",
          "optional": true,
          "defaultValue": false,
          "description": "Streams input when set to `true`. Use only if entries are accessed sequentially. The input must be a top-level array. See the <<example2, streaming example>>, and see https://docs.mulesoft.com/dataweave/latest/dataweave-formats#dw_readers_writers[DataWeave Readers].\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ],
      "writerProperties": [
        {
          "name": "writeAttributes",
          "optional": true,
          "defaultValue": false,
          "description": "Converts attributes of a key into child key-value pairs of that key. The attribute key name starts with &#64;.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "indent",
          "optional": true,
          "defaultValue": true,
          "description": "Write indented output for better readability by default, or compress output into a single line when set to `false`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "UTF-8",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "skipNullOn",
          "optional": true,
          "defaultValue": "None",
          "description": "Skips `null` values in the specified data structure. By default, DataWeave does not skip the values.\n\n* `arrays` + Ignore and omit `null` values inside arrays from the JSON output, for example, with `output application/json skipNullOn=\"arrays\"`.\n* `objects` + Ignore key-value pairs that have `null` as the value, for example, with `output application/json skipNullOn=\"objects\"`.\n* `everywhere` + Apply `skipNullOn` to arrays and objects, for example, `output application/json skipNullOn=\"everywhere\"`.",
          "possibleValues": [
            "arrays",
            "objects",
            "everywhere"
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "duplicateKeyAsArray",
          "optional": true,
          "defaultValue": false,
          "description": "Converts the values of duplicate keys in an object to a single array of values to the duplicated key.",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "xml",
      "binary": false,
      "extensions": [
        ".xml"
      ],
      "defaultMimeType": "application/xml",
      "acceptedMimeTypes": [
        "*/xml",
        "*/*+xml"
      ],
      "readerProperties": [
        {
          "name": "supportDtd",
          "optional": true,
          "defaultValue": false,
          "description": "Enable or disable DTD support. Disabling skips (and does not process) internal and external subsets. You can also enable this property by setting the Mule system property `com.mulesoft.dw.xml.supportDTD`. Note that the default for this property changed from `true` to `false` in Mule version 4.3.0-20210601, which includes the June 2021 patch of DataWeave version 2.3.0.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "streaming",
          "optional": true,
          "defaultValue": false,
          "description": "Streams input when set to `true`. Use only if entries are accessed sequentially. The input must be a top-level array. See the <<example2, streaming example>>, and see https://docs.mulesoft.com/dataweave/latest/dataweave-formats#dw_readers_writers[DataWeave Readers].\n",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "maxEntityCount",
          "optional": true,
          "defaultValue": 1,
          "description": "Sets the maximum number of entity expansions. The limit helps avoid Billion Laughs attacks.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "optimizeFor",
          "optional": true,
          "defaultValue": "speed",
          "description": "Configures the type of optimization for the XML parser to use.",
          "possibleValues": [
            "speed",
            "memory"
          ]
        },
        {
          "name": "indexedReader",
          "optional": true,
          "defaultValue": true,
          "description": "Uses the indexed reader by default when reaching the threshold. Supports US-ASCII, UTF-8 and ISO-8859-1 encodings only. For other encodings, DataWeave uses the in-memory reader.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "maxAttributeSize",
          "optional": true,
          "defaultValue": -1,
          "description": "Sets the maximum number of characters accepted in an XML attribute. _Available since Mule 4.2.1._",
          "possibleValues": [
            
          ]
        },
        {
          "name": "nullValueOn",
          "optional": true,
          "defaultValue": "blank",
          "description": "Indicates whether to read an element with empty or blank text as a `null` value.",
          "possibleValues": [
            "empty",
            "none",
            "blank"
          ]
        },
        {
          "name": "collectionPath",
          "optional": true,
          "defaultValue": null,
          "description": "Sets the path to the location in the document where the collection is located. Accepts a path expression that identifies the location of the elements to stream.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "externalEntities",
          "optional": true,
          "defaultValue": false,
          "description": "Indicates whether to process external entities. Disabled by default to avoid XML External Entity (XXE) attacks.",
          "possibleValues": [
            true,
            false
          ]
        }
      ],
      "writerProperties": [
        {
          "name": "writeDeclaration",
          "optional": true,
          "defaultValue": true,
          "description": "Writes the XML header declaration when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "indent",
          "optional": true,
          "defaultValue": true,
          "description": "Write indented output for better readability by default, or compress output into a single line when set to `false`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "doubleQuoteInDeclaration",
          "optional": true,
          "defaultValue": false,
          "description": "Escapes double quotes in the XML declaration when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "None",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "escapeGT",
          "optional": true,
          "defaultValue": false,
          "description": "Escapes '>' characters when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "defaultNamespace",
          "optional": true,
          "defaultValue": "None",
          "description": "Specifies the default namespaces of the output XML.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "inlineCloseOn",
          "optional": true,
          "defaultValue": "empty",
          "description": "Write an inline close tag, or explicitly open and close tags when the value is `null`.",
          "possibleValues": [
            "empty",
            "none"
          ]
        },
        {
          "name": "onInvalidChar",
          "optional": true,
          "defaultValue": "None",
          "description": "",
          "possibleValues": [
            "base64",
            "ignore",
            "none"
          ]
        },
        {
          "name": "writeNilOnNull",
          "optional": true,
          "defaultValue": false,
          "description": "Writes the `nil` attribute for a `null` value when this property is set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "escapeCR",
          "optional": true,
          "defaultValue": false,
          "description": "Escapes `CR` characters when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "skipNullOn",
          "optional": true,
          "defaultValue": "None",
          "description": "Skips `null` values in the specified data structure. By default, DataWeave does not skip the values.\n\n* `elements` + Ignore and omit `null` elements inside XML output, for example, with `output application/xml skipNullOn=\"arrays\"`.\n* `attributes ` + Ignore and omit `null` attributes inside XML, for example, with `output application/xml skipNullOn=\"objects\"`.\n* `everywhere` + Apply `skipNullOn` to elements and attributes, for example, `output application/xml skipNullOn=\"everywhere\"`.\n",
          "possibleValues": [
            "elements",
            "attributes",
            "everywhere"
          ]
        },
        {
          "name": "writeDeclaredNamespaces",
          "optional": true,
          "defaultValue": "None",
          "description": "Marks the namespaces to declare in the root element of the XML:\n\n\n* `All`: Write all declared namespaces in the root element.\n* `ids:<comma separated namespace id>`: Write only the specified namespaces.\n* `regex:<regex>`: Write only the matching namespaces.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "csv",
      "binary": false,
      "extensions": [
        ".csv"
      ],
      "defaultMimeType": "application/csv",
      "acceptedMimeTypes": [
        "*/csv"
      ],
      "readerProperties": [
        {
          "name": "streaming",
          "optional": true,
          "defaultValue": false,
          "description": "Streams input when set to `true`. Use only if entries are accessed sequentially. The input must be a top-level array. See the <<example2, streaming example>>, and see https://docs.mulesoft.com/dataweave/latest/dataweave-formats#dw_readers_writers[DataWeave Readers].\n",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "separator",
          "optional": true,
          "defaultValue": ",",
          "description": "Character that separates one field from another field.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "quote",
          "optional": true,
          "defaultValue": "\"",
          "description": "Character to use for quotes.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "escape",
          "optional": true,
          "defaultValue": "\\",
          "description": "Character to use for escaping special characters, such as separators or quotes.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bodyStartLineNumber",
          "optional": true,
          "defaultValue": 0,
          "description": "Line number on which the body starts.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "ignoreEmptyLine",
          "optional": true,
          "defaultValue": true,
          "description": "Indicates whether to ignore an empty line.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "header",
          "optional": true,
          "defaultValue": true,
          "description": "Indicates whether a CSV header is present. \n\n* If `header=true`, you can access the fields within the input by name, for example, `payload.userName`. \n\n* If `header=false`, you must access the fields by index, referencing the entry first and the field next, for example, `payload[107][2]`.\n\n",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "headerLineNumber",
          "optional": true,
          "defaultValue": 0,
          "description": "Line number on which the CSV header is located.",
          "possibleValues": [
            
          ]
        }
      ],
      "writerProperties": [
        {
          "name": "separator",
          "optional": true,
          "defaultValue": ",",
          "description": "Character that separates one field from another field.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "None",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "quote",
          "optional": true,
          "defaultValue": "\"",
          "description": "Character to use for quotes.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "escape",
          "optional": true,
          "defaultValue": "\\",
          "description": "Character to use for escaping special characters, such as separators or quotes.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "lineSeparator",
          "optional": true,
          "defaultValue": "\n",
          "description": "Line separator to use when writing CSV, for example, `\"\\r\\n\"`. By default, DataWeave uses the system line separator.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bodyStartLineNumber",
          "optional": true,
          "defaultValue": 0,
          "description": "Line number on which the body starts.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "ignoreEmptyLine",
          "optional": true,
          "defaultValue": true,
          "description": "Indicates whether to ignore an empty line.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "header",
          "optional": true,
          "defaultValue": true,
          "description": "Indicates whether a CSV header is present. \n\n* If `header=true`, you can access the fields within the input by name, for example, `payload.userName`. \n\n* If `header=false`, you must access the fields by index, referencing the entry first and the field next, for example, `payload[107][2]`.\n\n",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "quoteHeader",
          "optional": true,
          "defaultValue": false,
          "description": "Quotes header values when set to `true`.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "headerLineNumber",
          "optional": true,
          "defaultValue": 0,
          "description": "Line number on which the CSV header is located.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "quoteValues",
          "optional": true,
          "defaultValue": false,
          "description": "Quotes every value when set to `true`, including values that contain special characters.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "binary",
      "binary": true,
      "extensions": [
        ".bin"
      ],
      "defaultMimeType": "application/octet-stream",
      "acceptedMimeTypes": [
        "application/octet-stream",
        "application/x-binary"
      ],
      "readerProperties": [
        
      ],
      "writerProperties": [
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "text",
      "binary": false,
      "extensions": [
        ".txt"
      ],
      "defaultMimeType": "text/plain",
      "acceptedMimeTypes": [
        "text/plain"
      ],
      "readerProperties": [
        
      ],
      "writerProperties": [
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "None",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "urlencoded",
      "binary": false,
      "extensions": [
        ".urlencoded"
      ],
      "defaultMimeType": "application/x-www-form-urlencoded",
      "acceptedMimeTypes": [
        "application/x-www-form-urlencoded"
      ],
      "readerProperties": [
        
      ],
      "writerProperties": [
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "None",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "multipart",
      "binary": true,
      "extensions": [
        ".multipart"
      ],
      "defaultMimeType": "multipart/form-data",
      "acceptedMimeTypes": [
        "multipart/*"
      ],
      "readerProperties": [
        {
          "name": "boundary",
          "optional": true,
          "defaultValue": "None",
          "description": "The multipart `boundary` value, a string to delimit parts.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "defaultContentType",
          "optional": true,
          "defaultValue": "application/octet-stream",
          "description": "Sets the default Content-Type to use on parts of the `multipart/*` format. When set, this property takes precedence over the setting for the xref:dataweave-system-properties.adoc[system property] `com.mulesoft.dw.multipart.defaultContentType`.\n\n_Introduced in DataWeave 2.3 (2.3.0-20210720) for the August 2021 release of Mule 4.3.0-20210719._\n",
          "possibleValues": [
            
          ]
        }
      ],
      "writerProperties": [
        {
          "name": "boundary",
          "optional": true,
          "defaultValue": "None",
          "description": "The multipart `boundary` value, a string to delimit parts.",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "properties",
      "binary": false,
      "extensions": [
        ".properties"
      ],
      "defaultMimeType": "text/x-java-properties",
      "acceptedMimeTypes": [
        "*/x-java-properties",
        "*/properties"
      ],
      "readerProperties": [
        
      ],
      "writerProperties": [
        {
          "name": "encoding",
          "optional": true,
          "defaultValue": "None",
          "description": "The encoding to use for the output, such as UTF-8.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "bufferSize",
          "optional": true,
          "defaultValue": 8192,
          "description": "Size of the buffer writer, in bytes. The value must be greater than `8`.\n",
          "possibleValues": [
            
          ]
        },
        {
          "name": "deferred",
          "optional": true,
          "defaultValue": false,
          "description": "Generates the output as a data stream when set to `true`, and defers the script's execution until the generated content is consumed.\n",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    },
    {
      "id": "java",
      "binary": false,
      "extensions": [
        
      ],
      "defaultMimeType": "application/java",
      "acceptedMimeTypes": [
        "*/java"
      ],
      "readerProperties": [
        
      ],
      "writerProperties": [
        {
          "name": "duplicateKeyAsArray",
          "optional": true,
          "defaultValue": false,
          "description": "Converts the values of duplicate keys in an object to a single array of values to the duplicated key.",
          "possibleValues": [
            true,
            false
          ]
        },
        {
          "name": "writeAttributes",
          "optional": true,
          "defaultValue": false,
          "description": "Converts attributes of a key into child key-value pairs of that key. The attribute key name starts with &#64;.",
          "possibleValues": [
            true,
            false
          ]
        }
      ]
    }
  ]
}