# Standard support

## Introduction

Orbeon Forms supports most standard XForms features, including:

* the specified processing processing model
* events: `xforms-submit`, `xforms-submit-serialize`, `xforms-submit-done`, and `xforms-submit-error`
* all HTTP and HTTPS methods
* serializations: `application/x-www-form-urlencoded`, `application/xml`, `application/json` (SINCE Orbeon Forms 2016.1), `multipart/form-data`, as well as [extensions](https://doc.orbeon.com/~/revisions/-LF_uc1WMpa4Sd-n5tDb/xforms/submission/other-extensions).
* replacements: `all`, `instance`, and `text`
* SOAP support

One exception is the lack of support for `multipart/related`.

For more information, please visit the [XForms 1.1 specification](http://www.w3.org/TR/xforms11/#submit-submission-element).

## JSON support

See [JSON support](https://doc.orbeon.com/~/revisions/-LF_uc1WMpa4Sd-n5tDb/xforms/submission/json-support).

## Controlling non-relevant nodes

\[SINCE Orbeon Forms 2017.1]

The XForms 2.0 `nonrelevant` attribute takes values

* `keep`: all values are serialized,&#x20;
* `remove`: non-relevant values are not serialised&#x20;
* `empty`: non-relevant nodes are serialized as empty values

The default is `remove`.

```markup
<xf:submission id="my-submission"
    method="post"
    nonrelevant="empty"
    resource="http://example.org/rest/draft/"
    replace="none"/>
```

## Disabling validation and relevance handling

Orbeon Forms supports the XForms 1.1 `validate` and `relevant` attributes on `<xf:submission>`.

*NOTE: The* `relevant` *attribute is deprecated in favor of the XForms 2.0* `nonrelevant` *attribute.*

These boolean attributes disable processing of validation and relevance pruning respectively for a given submission:

```markup
<xf:submission id="my-submission"
    method="post"
    validate="false"
    relevant="false"
    resource="http://example.org/rest/draft/"
    replace="none"/>
```

XForms 2.0 introduces `nonrelevant` (while keeping `relevant` for backward compatibility) for clarity:

```markup
<xf:submission id="my-submission"
    method="post"
    validate="false"
    nonrelevant="keep"
    resource="http://example.org/rest/draft/"
    replace="none"/>
```

## Controlling serialization

Orbeon Forms supports the XForms 1.1 `serialization` on `<xf:submission>`. This is particularly useful to specify the value `none` with a `get` method:

```markup
<xf:submission id="my-submission"
    method="get"
    serialization="none"
    resource="http://example.org/document.xml"
    replace="instance"
    instance="my-instance"/>
```

## Asynchronous submissions

See [Asynchronous Submissions](https://doc.orbeon.com/~/revisions/-LF_uc1WMpa4Sd-n5tDb/xforms/submission/asynchronous-submissions).
