Zurück zur Übersicht

W3C-XForms - Eine neue Markupsprache für Formulare im Web

written by Margit Jahn

Mit dem Durchbruch des Webs vor circa 10 Jahren wurde das Thema der Erstellung von Formularen für das Web aktuell. Bisher war es die Standardsprache HTML, die zur Erstellung Verwendung fand. Doch HTML stößt bei der Entwicklung von Formularen an Grenzen sowohl für den Programmierer als auch bei der Benutzerfreundlichkeit durch den Anwender. Daher schlossen sich 1993 eine internationale Gruppe von Entwicklern namhafter Firmen wie Adobe, IBM, Google, Sun, Novell, Origo Services, Progeny, die technische Universität Helsinki/Finnland, Inventive Designers n.v. und Picoforms zusammen um an einer verbesserten Sprache für die Entwicklung von Formularen zu arbeiten , W3C-Xforms. ) Interessant ist bei der Entwicklung von W3c-X-Forms, dass es bisher noch kein so enge Zusammenarbeit bei konkurrierenden Firmen gab, um so einen neuen Standard zu entwickeln. Seit Oktober 2003 ist nun Xforms auf der "recommodationlist" des W3C's, um wohl bald zu einem Standard für die Entwicklung von Formularen zu werden. Aus diesem Anlass hier eine kleine Zusammenfassung über W3C Xforms, wie sich die Sprache definiert, welche Neuerungen sie beinhaltet und weshalb sie große Chancen hat in Zukunft vermehrt zum Einsatz zu kommen.

Wikipedia definiert W3C Xforms wie folgt :

"XForms ist einW3C-Standard für elektronische Formulare zur Datenerfassung, d.h. interaktive Fragebögen, insbesondere im World Wide Web. XForms ist jedoch plattformunabhängig und kann eine Vielfalt von Geräten bedienen, vom Computer über Mobiltelefone bis hin zum interaktiven Fernsehen. HTML die Auszeichnungssprache des World Wide Webs, bietet bereits eine Unterstützung für Formulare. XForms soll dieses Konzept erweitern."(vgl. www.Wikipedia.de" W3C Xforms ")

Wichtig erscheinen vor allem 2 Konzepte für die Neuentwicklung. Steven Pemberton, Vorsitzender der W3C Xforms Arbeitsgruppe erklärte hierzu : X Forms bietet dem Entwickler eine größere Flexibilität und erweitert die Möglichkeiten des Anwenders seine Formulare sowohl auf dem heimischen Desktop als auch in seinem Handheld PC oder seinem Mobiltelefon zu bearbeiten und es gegebenenfalls leicht zwischen den einzelnen Geräten hin und her zu transportieren. Dies wird möglich, da XForms im Gegensatz zu HTML in drei Entwicklungsbereiche gegliedert ist : das Formularmodell, die Dateninhalte und die Benutzerschnittstelle. Das Formularmodell kann also individuell auf die Displayanforderungen eines Desktop, eines Mobiltelefons oder auch den Handheld PC erzeugt werden und dann je nach Gerätetyp aufgerufen werden ohne dabei Dateninhalte und Benutzerschnittstellen zu verändern. Die Besonderheit bei Xforms ist dabei vor allem auch, dass ein Formular auf den verschiedenen Geräten ohne Einschränkung der Funktionen laufen können soll. So ist es geplant das Programm so zu gestalten, dass die Bearbeitung eines Formulares völlig unabhängig vom Bearbeitungsgerät erfolgen kann.

Auch die Möglichkeit Templates für Formulargrundstrukturen flexibel aufzubauen zeichnet Xforms aus und je nach Benutzung Dateninhalte zu ändern ohne dabei alle Informationen zu Formularinhalt oder Benutzerschnittstelle doppelt vorhalten zu müssen. Damit wird eine Wiederverwendbarkeit von Formularen unabhängig vom Inhalt möglich. Für den Entwickler wird so eine Individualisierung von Formularen erleichtert. Auch kann er besser auf die Anforderungen der Benuzer eingehen Steven Pemberton, Vorsitzender der W3C Xforms Arbeitsgruppe hierzu :

"W3C's XForms gives authors more power and flexibility while improving the user experience. The XForms Working Group has provided a model that makes it easy for implementors to develop and reuse form components, integrate them into Web services, and deliver functionality to users and devices previously not possible."

Die Aufteilung in Programmfunktion und Dateninhalt führt zu einer klaren Definition von Entwickler- und Anwenderraum. Eigenschaften von den durch den Benutzer eingegebenen Werten und auch zwischen ihnen können vom Entwickler definiert werden, um so sicherzustellen, dass auch wirklich die erwünschte Eingabe in das Textfeld erfolgt ist. So lässt sich auch determinieren wie weitere Vorgänge zum Beispiel die Bezahlung per Kreditkarte oder per Überweisung erfolgen. Der Benutzer wird bei einer falsche Eingabe durch Warnungen auf seinen Fehler aufmerksam gemacht. So folgt das Programm einer klaren wirtschaftlich basierten Logik. XForms basiert auf XML. Aus der XML-Programmierung wurde vor allem die Adressierung mit Xpath oder die Datentypdefinition durch XML Schemas übernommen. Daher sind alle Daten eines X-Form-Formulares bereits durch XML typisiert und validiert. Diese Typisierung dient im besonderen auch einer einfachen Internationalisierung von Formularen, die mit X Forms erstellt wurden. Ursprünglich wurde X-Forms für die Integration in XHTML, aber durch die Verwendung von XML Handlers ist sie auch auf andere Markupsprachen applizierbar. So trifft man heute XForms häufig auch in der Verbindung mit SVG in Geoinformationssystemen. Aber auch die enge Beziehung zu synchronisiertem Multimedia, VoiceBrowsern und Document Object Modellen verweisen auf das breite Spektrum an Anwendungsgebieten von Xforms.

Doch welche Unterschied besteht genau zwischen Xforms und HTML? Durch die Dreiteilung von Xforms wird der Gesamtaufbau des Sheets eindeutig vereinfacht. So entsteht die Wertigkeit der Gliederung nicht mehr wie bisher durch die Nummerierung von Headern mit < h1 > bis < hn > sondern durch Schachtelung. Zum Separieren wird statt < hr > nun semantisch eindeutiger < separator > verwendet. Bisher war die Integration von Listenaufzählung in Block-Elementen nicht möglich. Dies wurde geändert.

Im Bereich der Bilderintegration kann src ="..." nun auf alle Elemente angewendet werden. Sollte ein Bild nicht übertragen worden sein, so erscheint das Tag z.B. < p scr = "bildchen.tiff"> auf dem Bildschirm, so dass das bisherige Alt-Attribut obsolet wird und eine klare Markup- Alternative realisiert wurde. Schließlich können Bilder mit Fallbacks spezifiziert werden. So wird man in Zukunft wohl auf Browserweichen verzichten können. Eine semantisch klarere Definition wurde auch mit < nl >-Tags zum Aufzeichnen von Listen erreicht. Für den Programmierer gestaltet sich auch die Verwendung von < p edit ="deleted"> übersichtlicher als die vormalige Verwendung von < del>,< insert> und < bdo>.Um die Transportierbarkeit auf verschiedene Anwendergeräte zu ermöglichen gibt es das Tag media= "..." . Für die RDF-Integration wird anstelle der vormaligen HTML-Kommentare nun auf Meta-tags zurückgegriffen. Dadurch wird das implementieren und editieren vereinfacht. Tags können mit dem Attribut role deklariert mit einer vordefinierten oder erweiterten Rolle ausgestattet werden um so schnell serverseitig gefiltert zu werden. Das anbringen von Notizen, die nicht beim Benutzer erscheinen sollen wird dadurch möglich. RSS wird dadurch obsolet, da beliebige Rollen als einfach div/p-Tags in die Seiten eingefügt werden können. Durch die klare Strukturierung des Sheets sind Accesskeys nun im Headerbereich leichter auffindbar. Sie werden so zentral evaluierbar und können auch direkt für Objektklassen spezifiziert werden. Die Eventhandler aus XHTML weichen den einfacher zu implementierenden XML-Handlern. Dadurch kann ein Eventhandler mehrfach verwendet werden für unterschiedliche Scripting-Sprachen, obwohl dies den Parsingaufwand erhöht. Zusammenfassend lässt sich also sagen, dass Xforms sicher eine gute Chance hat sich im Markt zu etablieren und so dem Entwickler ein sehr mächtiges, leicht bedienbares und Userfreundliches Tool zu liefern. Mit XForms wird sich eine gute Opensourcealternative zur Microsoftvariante Infopath bieten, auch wenn die erste Release durch eine gewisse "Markt- und Herstellerapathie" etwas schleppend anläuft.

Nützliche Links

http://www.w3.org/MarkUp/Forms/ -Beschreibung von Xforms durch das W3C- Komitee
http://www.w3.org/TR/xforms/
http://www.x-smiles.org/ -Webbrowser,der xForms verwendet
http://www.XForms 1.0.org -test suite offizielles Demoprogramm des W3C-Kommitees

Literaturnachweis :

http://www.golem.de/0310/27951.html
www.Wikipedia " W3C Xforms "
www.W3C Xforms\XForms - the next generation of Web forms.htm
www.W3C Xforms\XForm - Knowledge Management, EAI, E-Commerce.htm
www.W3C Xforms\XForms für HTML-Programmierer.htm