XForms
# XForms

XForms ist ein W3C-Standard für elektronische Formulare zur Datenerfassung, das heißt, interaktive Fragebögen, insbesondere im World Wide Web. XForms ist plattformunabhängig und kann eine Vielzahl von Geräten bedienen, vom Computer über Mobiltelefone bis hin zum interaktiven Fernsehen.

XForms wurde entworfen, um die Unterstützung für Formulare in HTML bzw. dem XML-basierten Nachfolger XHTML zu ersetzen und mit der übrigen XML-Technologie zu verbinden. XForms ist aber nicht an XHTML gebunden. XForms wäre Bestandteil des XHTML-2.0-Standards gewesen, dessen Entwicklung eingestellt wurde.

## Standardisierung

XForms 1.0 wurde im Oktober 2003 ein W3C-Standard. Im Oktober 2007 erschien mit XForms 1.0 (Third Edition) eine korrigierte Version des Standards. Seit November 2004 existiert eine „Working Draft“ für XForms 1.1, die zum letzten Mal im November 2007 aktualisiert wurde und am 20. Oktober 2009 eine Recommendation geworden ist.

## Funktionsweise

XForms hält sich an das MVC-Architekturmuster. So wird das Modell getrennt als XML beschrieben, bevor die Darstellungs- und Steuerungsinformationen gegeben werden.

Die Darstellung ist dabei sehr lose beschrieben und hängt zum größten Teil von der Implementierung und der Beschreibungssprache ab, in die XForms eingebettet wurden. Die Elemente des Modells werden mit unterschiedlichen Widget-Typen verknüpft, die weitere Angaben über die Darstellung (zum Beispiel verkleinert etc.), Wichtigkeit und XML-Schema-Datentypen enthalten. Besonders letzteres ist wichtig, da die Implementierung dem Benutzer direkt Informationen über die einzugebenden Daten liefern kann, ohne die Daten erst aufwendig validieren zu müssen. Dies erspart in Webanwendungen zum Beispiel den Einsatz von JavaScript. Besonders für kleinere Geräte wie Mobiltelefone ist diese Funktion wichtig, da viele Ressourcen gespart werden können.

Dies erspart aber nicht die Validierung der Daten auf dem Server, bevor sie weiter verarbeitet werden. Es ist nämlich möglich, die Validierungsinformationen in den XForms zu ignorieren und beliebige Daten in den Datenkanal einzuspielen.

## Unterstützung

Aktuell unterstützt nur der kaum verbreitete Java-Webbrowser X-Smiles die Spezifikation. Für die verbreiteten großen Browser müssen Programmteile nachinstalliert werden: So existieren die Extension Mozilla XForms für Mozilla Firefox und das Plugin formsPlayer für Internet Explorer. Mozilla XForms wird jedoch seit 2010 nicht mehr weiterentwickelt und wird seit der Browser-Version 19 nicht mehr unterstützt. Es gibt einige JavaScript-Lösungen, die XForms clientseitig in HTML bzw. XHTML umwandeln und einige Frameworks, wie Chiba, dessen freien Weiterentwicklung betterFORM oder Orbeon, die dies auf der Serverseite erledigen.

Eine weitere Implementierung von XForms bietet Mozquito DENG. OpenOffice.org unterstützt und benutzt ab Version 2.0 ebenfalls XForms. Der XHTML to XForms Converter bietet Web-Autoren eine einfache Möglichkeit, ihre Web-Formulare über XSLT in gültige XForms-Dokumente zu transformieren.

