XForms ist einW3C-Standard für elektronische Formulare zur Datenerfassung, das heißt, interaktive Fragebögen, insbesondere imWorld Wide Web. XForms ist plattformunabhängig und kann eine Vielzahl von Geräten bedienen, vomComputer über Mobiltelefone bis hin zum interaktiven Fernsehen.
XForms wurde entworfen, um die Unterstützung für Formulare inHTML bzw. demXML-basierten NachfolgerXHTML 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.[1]
XForms 1.0 wurde im Oktober 2003 ein W3C-Standard. Im Oktober 2007 erschien mitXForms 1.0 (Third Edition) eine korrigierte Version des Standards. Seit November 2004 existiert eine „Working Draft“ fürXForms 1.1, die zum letzten Mal im November 2007 aktualisiert wurde und am 20. Oktober 2009 eine Recommendation geworden ist.
XForms hält sich an dasMVC-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 unterschiedlichenWidget-Typen verknüpft, die weitere Angaben über die Darstellung (zum Beispielverkleinert etc.), Wichtigkeit undXML-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 vonJavaScript. 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.
Aktuell unterstützt nur der kaum verbreitete Java-WebbrowserX-Smiles die Spezifikation. Für die verbreiteten großen Browser müssen Programmteile nachinstalliert werden: So existieren die ExtensionMozilla XForms fürMozilla Firefox und das PluginformsPlayer fürInternet Explorer. Mozilla XForms wird jedoch seit 2010 nicht mehr weiterentwickelt[2] und wird seit der Browser-Version 19 nicht mehr unterstützt[3]. Es gibt einige JavaScript-Lösungen, die XForms clientseitig in HTML bzw. XHTML umwandeln[4] und einige Frameworks, wieChiba, dessenfreie WeiterentwicklungbetterFORM[5] oderOrbeon, die dies auf der Serverseite erledigen.
Eine weitere Implementierung von XForms bietetMozquito DENG.OpenOffice.org unterstützt und benutzt ab Version 2.0 ebenfalls XForms.[6] DerXHTML to XForms Converter bietet Web-Autoren eine einfache Möglichkeit, ihre Web-Formulare über XSLT in gültige XForms-Dokumente zu transformieren.