XForms

XForms ist ein Xml Format verwendet zum Sammeln von Eingaben von Webformen. XForms wurde als die nächste Generation von ausgelegt Html / Xhtml Formulare, ist jedoch generisch genug, dass es auch auf eigenständige Weise oder mit anderen Präsentationssprachen als XHTML verwendet werden kann, um eine Benutzeroberfläche und eine Reihe von gemeinsamen Daten Manipulationsaufgaben.

XForms 1.0 (dritte Ausgabe) wurde am 29. Oktober 2007 veröffentlicht. Die ursprüngliche XForms -Spezifikation wurde Beamter W3C -Empfehlung Am 14. Oktober 2003 erreichte XForms 1.1, was eine Reihe von Verbesserungen einführte, am 20. Oktober 2009 den gleichen Status.

Unterschiede aus Webformen

Im Gegensatz zu den ursprünglichen Webformen (ursprünglich in HTML definiert) haben die Ersteller von XForms a verwendet Model View Controller (MVC) Ansatz. Das Modell besteht aus einem oder mehreren XForms -Modellen, die Formdaten, Einschränkungen dieser Daten und Einreichungen beschreiben. Die Ansicht beschreibt, welche Steuerelemente in der Form erscheinen, wie sie zusammengefasst werden und an welche Daten sie gebunden sind. CSS Kann verwendet werden, um das Aussehen einer Form zu beschreiben.

Ein XForms -Dokument kann so einfach sein wie ein Webformular (indem nur das Einreichungselement im Modellabschnitt angegeben und die Steuerelemente im Körper platziert werden), aber XForms enthält viele erweiterte Funktionen. Zum Beispiel können neue Daten angefordert und verwendet werden, um das Formular während des Ausführens zu aktualisieren, ähnlich wie bei der Verwendung Xmlhttprequest/Ajax außer ohne Scripting. Der Formular Autor kann Benutzerdaten dagegen validieren XML -Schema Datentypen, erfordern bestimmte Daten, deaktivieren Sie Eingabesteuerelemente oder Änderungsabschnitte des Formulars ab, abhängig von den Umständen, durchsetzen bestimmter Beziehungen zwischen Daten, Datenanlagen für variable Länge von Daten, Ausgabe berechnete Werte, die aus Formdaten abgeleitet wurden, Vorgefülleinträge mit einem XML -Dokument, reagieren Aktionen in Echtzeit (gegenüber der Einreichungszeit) und ändern Sie den Stil jedes Steuerelements je nach Gerät, auf dem sie angezeigt werden (Desktop -Browser gegenüber mobilen oder nur Text usw.). Es besteht oft keine Notwendigkeit, mit Sprachen wie JavaScript zu skripten. XForms enthält jedoch ein Ereignismodell und Aktionen zur Implementierung komplexerer Formverhalten.[1] Aktionen und Ereignisbehandlungen werden unter Verwendung des XML -Dialekts von XForms als häufigere Skriptsprachen wie JavaScript angegeben.

Wie Webformen können XForms verschiedene Nicht-XML-Einreichungsprotokolle verwenden (Mehrfachfrist/Formdaten, Anwendung/X-WWW-Form-Urlencoded), aber eine neue Funktion ist, dass XForms Daten an einen Server im XML -Format senden können. XML -Dokumente können auch verwendet werden, um Daten im Formular vorzunehmen. Da XML ein Standard ist, gibt es viele Tools, die Daten bei der Einreichung analysieren und ändern können. Es gibt auch ähnliche Werkzeuge für Legacy -Formen. XForms ist selbst ein XML -Dialekt und kann daher andere XML -Dokumente erstellen und erstellt werden Xslt. Verwenden von Transformationen können XForms automatisch aus erstellt werden XML -Schemataund XForms können in XHTML -Formulare konvertiert werden.

Software-Unterstützung

Zum Zeitpunkt dieses Schreibens keine weit verbreiteten Webbrowser Unterstützt XForms nativ. Es gibt jedoch verschiedene Browser-Plugins, clientseitige Erweiterungen und Server-/Client-Lösungen. Im Folgenden sind einige Implementierungen aufgeführt:

  • Das Feuerfuchs Die XForms -Erweiterung war Teil des Mozilla -Projekts.[2] Die Unterstützung von XForms 1.0 SE ist nicht vollständig, deckt jedoch den größten Teil der Spezifikation mit einer bemerkenswerten Ausnahme der in HTML-Tabellen verwendeten Attributbasis ab. Die Erweiterung war sowohl für Firefox 2 als auch für Firefox 3 verfügbar, wird jedoch nicht zur Unterstützung von Firefox 4 und höher verbessert. Im Juli 2011 schrieb der leitende Entwickler, dass der XForms -Support nicht mehr aktualisiert wird.[3] Die Unterstützung für XForms wurde schließlich in Firefox 19 veraltet.[4]
  • IBM Lotus forms Unterstützt die Entwicklung und Bereitstellung von XForms-basierten reinen XML-Formularen. Testdownloads sind für eine Eclipse-basierte visuelle Designumgebung und einen clientseitigen Zuschauer erhältlich, der XForms-basierte Formulare sowohl im Webbrowser als auch als eigenständige Desktop-Anwendung ausführen kann.
  • OpenOffice.org Versionen 2.0 und größer und Libreoffice Unterstützen Sie XForms.[5][6]

Implementierungstechnologien verglichen

Formenfassen, AjaxForms, XSLTForms, Betterform, Chiba, Orbeon und SmartSite -Formulare basieren auf der AJAX -Technologie. Die Menge der serverseitigen und clientseitigen Verarbeitung variiert zwischen diesen Implementierungen. Beispielsweise liefern Ubiquity XForms, Formenfaces und XSLTForms 100% XForms Client-Seite-Verarbeitungs- und Datenmodellaktualisierungen über die reine AJAX-Verarbeitung im XForms-Standard. Die anderen verwenden die serverseitige Java/.NET XForms-Verarbeitung von Transcodieren zu AJAX-Markup, bevor der Inhalt dem Browser geliefert wird. Beide Techniken können in Browsern funktionieren. Jede Implementierung unterscheidet sich erheblich in Bezug auf Abhängigkeiten, Skalierbarkeit, Leistung, Lizenzierung, Reife, Netzwerkverkehr, Offline -Funktionen und Cross -Browser -Kompatibilität. Systemarchitekten sollten diese Einschränkungen anhand ihrer Bedürfnisse bewerten, um potenzielle Risiken und Ziele zu bestimmen.

Plugins wie FormSPlayer und andere clientseitige Technologie können auch einige Vorteile haben: Da sie sich in den Browser integrieren, arbeiten sie mit vorhandenen Serverarchitekturen, können reaktionsfähiger sein und weniger Serverabrufe erfordern.

Der Kompromiss zwischen serverseitigen und Client-Plug-in-Lösungen ist, wo die Software gepflegt wird. Jeder Client muss das erforderliche Plug-In installieren, oder die Serverarchitektur muss sich ändern, um die XForms Transcoder Engine-Sprachtechnologie zu berücksichtigen. In der Theorie ist es möglich, diese beiden Lösungen zu mischen, beispielsweise den Browser für eine clientseitige XForms-Implementierung zu testen und native XForms in diesem Fall zu bedienen und in anderen Fällen zu einer Serverlösung zu stimmen.

Ubiquity XForms, Formfaces und XSLTForms bieten eine "Null-Software" -Lösung entweder auf dem Client oder Server: Auf dem Client muss keine neue Software installiert werden und die Lösung kann in Verbindung mit jeder serverseitigen Architektur verwendet werden. Dies ist möglich, weil Formfaces und Ubiquity XForms zu 100% in AJAX geschrieben sind und XSLTForms in XSLT und in AJAX geschrieben sind. Der Kompromiss ist, dass im Vergleich zu anderen Lösungen zunächst mehr Code an den Kunden heruntergeladen wird (Code kann auf den Kunden zwischengespeichert werden), und Formfaces unterstützt noch keine XML -Schema -Validierung. Darüber hinaus führt XForms -Einsendungen durch das "All" -Verhalten von "All" in der Regel nicht zu echten Seitenersäumen und brechen daher das normale Verhalten der normalen Rückstufe.

XRX -Anwendungsarchitektur

Da XForms es einfach erleichtert, komplexe XML -Daten zu bearbeiten SICH AUSRUHEN Schnittstellen. Die Kombination von drei Technologien (XForms auf dem Client, REST -Schnittstellen und XQuery auf dem Server) ist gemeinsam als bekannt als XRX Anwendungsentwicklung. XRX ist bekannt für seine einfache Architektur, die XML sowohl im Client als auch in der Datenbank verwendet und die Transformationen zu Objekt- oder relationalen Datenstrukturen vermeidet. Sehen "XRX: Einfach, elegant, disruptiv".

XForms für mobile Geräte

Vorteile

XForms bietet spezifische Vorteile, wenn sie auf mobilen Geräten verwendet werden:

  • Benutzeroberflächen, die XForms verwenden, erfordern weniger Rundreisen mit dem Server und befinden sich in diesem Sinne, in denen sie sich besser geschlossen haben als Benutzeroberflächen mithilfe von HTML 4-Formularen.
  • Die Fähigkeiten von mobilen Geräten variieren stark; Folglich ist die Menge der Arbeit, die an der Generierung verschiedener Benutzeroberflächen für verschiedene Geräte beteiligt ist, in der mobilen Welt von besonderem Anliegen. XFORMS wurde von Grund auf entworfen, damit Formulare unabhängig vom Gerät beschrieben werden können, wodurch die Menge an Arbeiten reduziert werden, die erforderlich sind, um mehrere Geräte abzuzielen.
  • XFORMS reduziert den Bedarf an JavaScript, was besonders interessant ist, da die Unterstützung von JavaScript von mobilen Geräten stark unterschiedlich ist und nicht weit verbreitet werden kann. Dies ermöglicht auch Systeme, auf denen JavaScript für Sicherheitsbedenken deaktiviert ist, um weiterhin einwandfrei zu arbeiten.

Implementierungen

Odk

Odk[7] ist eine Open-Source-Plattform für mobile Datenerfassung, die eine Teilmenge von W3C XForms 1.0 namens ODK XForms verwendet.[8] ODK bietet ODK XForms -Verarbeitungsbibliotheken in Java (Javarosa) und JavaScript (Enketo-Core).

Xfolit

Xfolit ist ein leichter XForms-Client für die J2ME-Plattform. Es wurde ursprünglich im Nokia Research Center erstellt und umfasst eine DOM- und XPATH 1.0 -Implementierung sowie eine XForms -Engine, die die XForms 1.1 -Spezifikation fast vollständig implementiert. XFOLITE wurde als Beta -Software veröffentlicht und sollte nicht als solcher als Produktionsbereitschaft betrachtet werden. Es enthält jedoch eine ausgereifte XForms -Engine, die für die Arbeit mit unterschiedlichen UI -Implementierungen entwickelt wurde. XML -Schemas und CSS sind jedoch außerhalb des Projektumfangs. Xfolite ist Open Source und lizenziert unter der LGPL -Lizenz, wird jedoch nicht weiter weiterentwickelt.

Siehe auch

Verweise

  1. ^ Pemberton, Steven (Juni 2014). "Live XML -Daten". XML London 2014: 96–102. doi:10.14337/xmllondon14.Pemberton01. ISBN 978-0-9926471-1-7.
  2. ^ Mozilla: Mozilla XForms Project - Download. Zugriff auf 2013-03-12.
  3. ^ Philipp Wagner: Die Zukunft von Mozilla XForms, 13. Juli 2011
  4. ^ Mozilla Developer Network (MDN): XForms. Zugriff auf 2013-03-12.
  5. ^ Apache OpenOffice: [1]. Zugriff 2020-05-24.
  6. ^ Die Dokumentstiftung: XML -Formulardokumente (XForms). Zugriff auf 2013-03-12.
  7. ^ http://getodk.org
  8. ^ "ODK XForms -Spezifikation".

Externe Links