Xforms is a W3C standard for defining the behaviour of an advanced form.  Although browsers do not currently read forms in this format, ProteanCMS uses it to define forms and their behaviour.

Xforms are stored as files either in the common directory or a site specific local directory.

The main elements of the form are as following:


```
<Content> - Contains the type, which is xform and name the form.

<model> – Contains the schema and the mapping rules & logic of the form.

<instance/> – The instance is the XML to be updated by the form. 

<submission/> - Where the form is going to be sent.

<bind/> - Nested mappings between the form controls and the instance values they update with validation rules

<model/>

<group>
   <input/> -Form Layout and Controls - These are the inputs for the form, they link to the bind.  
</group>

</Content>
```

These forms are then rendered using XSLT into an HTML  form. The returned result of that form is then processed to update the instance and use as required. or update represent the form if not validated correctly with validation errors.

The basic templates for rendering forms are found in

/ewcommon/xsl/xforms/xForms-bs-mininal.xsl

---

- [Sample xForm](/Front-End-Developer-Guide/v5/xForms-Guide/Sample-XForm)
- [The Instance](/Front-End-Developer-Guide/v5/xForms-Guide/The-Instance)
- [The Binds](/Front-End-Developer-Guide/v5/xForms-Guide/The-Binds)
- [The Controls](/Front-End-Developer-Guide/v5/xForms-Guide/The-Controls)
- [Form Validation - Client Side](/Front-End-Developer-Guide/v5/xForms-Guide/Form-Validation-%2D-Clientside)
- [File Locations](/Front-End-Developer-Guide/v5/xForms-Guide/File-locations)
- [HoneyPot](/Front-End-Developer-Guide/v5/xForms-Guide/HoneyPot)
- [Content XML Schema Updates](/Front-End-Developer-Guide/v5/xForms-Guide/Content-XML-Schema-Updates)
- [Back to ProteanCMS Version 5](/Front-End-Developer-Guide/v5)

---