# 31. XForms Module

Contents

This section is normative for purposes of defining the integration of XForms into XHTML 2.0. The semantics of XForms itself is normatively defined in [XFORMS].

The XForms Module provides a rich collection of forms features within the XHTML namespace.

The content model for XForms defines several content sets:

XForms Core
  model
XForms Form Controls
  input | secret | textarea | output | upload | range | trigger | submit | select | select1
XForms Actions
  action | dispatch | rebuild | recalculate | revalidate | refresh | setfocus | load | setvalue | send | reset | message | insert | delete | setindex
XForms Group
  group
XForms Switch
  switch
XForms Repeat
  repeat

## 31.1. Core XForms

The XForms Core content set is added to the content model of the head element in the Document module, to the Structural content set of the Structural Module., and to the Text content set of the Text module.

## 31.2. XForms Actions

The XForms Actions content set is added to the content model of the head element in the Document module, to the Structural content set, and to the Text content set.

## 31.3. Form Controls

The XForms Form Controls content set is added to the Structural content set, and to the Text content set.

The Text content set is added to the XForms UI Inline content set, allowing various XHTML elements inside form control labels.

## 31.4. Group

The XForms Group content set is added to the Structural content set, and to the Text content set.

group elements can freely nest.

The Structural content set is added to the XForms Group content set.

## 31.5. Switch

The XForms Switch content set is added to the Structural content set, and to the Text content set.

Alternating switch and case elements can freely nest.

The Structural content set is added to the content model of case, after an optional label element.

## 31.6. Repeat

The XForms Repeat content set is added to the Structural content set, and to the Text content set.

repeat elements can freely nest.

The Structural content set is added to the content model of case, after an optional label element.

## 31.7. XForms Repeat Attribute Collection

This module also includes the XForms Repeat Attribute Collection via attributes from [XFORMS]. The normative definition of those attributes and their semantics is included in that specification.

Attributes | Notes
--- | ---
repeat-model (IDREF) |
repeat-bind (IDREF) |
repeat-nodeset (LocationPath) |
repeat-startindex (Number) |
repeat-numbef (Number) |

## 31.8. Other Attribute Collections

XHTML 2 adds the Common attribute collection to the XForms Common Attribute Group.

The XForms Attribute Groups for single-node binding and Nodeset binding are allowed only on the XForms elements they are defined for.

## 31.9. Issues

[XHTML2] exclude switch and case as presentational PR #7826
State: Approved
Resolution: Reject
User: None

Notes:
While these elements are behavioral in nature, they are a required portion of XForms and we are not permitted to subset it. Moreover, it would substantially reduce the utility of XForms were these elements not included. If you have specific issues with these elements, we suggest you refer them to the XForms Working Group.