Lade Inhalt...

XForms. Eine Einführung in XML-basierte Web Forms

Mit praktischem Beispiel

Seminararbeit 2005 34 Seiten

Informatik - Wirtschaftsinformatik

Leseprobe

Inhaltsverzeichnis

Abbildungsverzeichnis

Abkürzungsverzeichnis

Management Summary

1. Einleitung
1.1 Zum Thema
1.2 Zielsetzung
1.3 Methodische Vorgehensweise und Aufbau der Arbeit

2. Voraussetzungen zum Verständnis von XForms
2.1 HTML
2.2 HTML Formulare
2.3 XML
2.3.1 XML Namensräume
2.3.2 XML Path Language (XPath)
2.3.3 XSL-Transformation
2.3.4 XML Events
2.4 XHTML

3. XForms – XML-basierte Web Forms
3.1 Was sind XForms
3.2 XForms Bausteine
3.3 XForms Model
3.4 XForms User Interface
3.5 XForms Namespace
3.6 XForms Actions
3.7 XForms Events
3.8 XForms Submit

4. Praktisches Beispiel

5. Beurteilung

Anhang I: Literaturverzeichnis

Anhang II: Praktisches Beispiel

Abbildungsverzeichnis

Abbildung 1: XForms Events auf einen Blick

Abbildung 2: Vordefinierte Methoden

Abbildung 3: Purchase Order

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Management Summary

XForms ist eine Empfehlung des World Wide Web Konsortiums und wurde im Jahre 2003 verabschiedet. Sie ist im kommenden Standard XHTML 2 integriert.

XForms sind XML basiert und sollen die traditionellen HTML Formulare ablösen. Der neue Standard verspricht viel. So trennt er sauber zwischen Struktur und Präsentation, prüft mit XML Schema die Eingaben und berechnet Eingabedaten ohne eine Scriptsprache wie JavaScript zu verwenden. Er referenziert externe und interne Datenquellen mit XPath und übermittelt die Daten als XML an den Server.

Das bringt den Vorteil, das XForms Formulare plattformunabhängig sind, also neben normalen Desktop-Browsern auch beispielsweise auf mobilen Geräten wie PDAs oder Mobiltelefonen Anwendung finden.

XForms bestehen aus zwei Teilen, dem Datenmodell und dem eigentlichen Formular. Im Datenmodell definiert der Autor, welche Formularfelder welche Daten erwarten, welche Vorgabewerte sie haben und was nach dem Absenden geschehen soll. Das Datenmodell steht im <head> Element einer XHTML Datei, das eigentliche Formular im <body> Element.

Als Eingabefelder für Text stehen einzeilige Textfelder, mehrzeilige Textfelder und Passwortfelder zur Verfügung. Selbstverständlich gibt es auch Auswahlfelder wie Auswahllisten, Checkboxen und Radiobuttons. Des Weiteren ist ein Eingabefeld <range> implementiert, welches einem Regler zwischen zwei Werten entspricht. Ein solches Eingabefeld gibt es in HTML Formularen nicht. Die Attribute aus dem traditionellen <form> Element werden in XForms im Element <submission> aufgenommen. Es besteht auch die Möglichkeit nur Teile eines Formulars abzuschicken.

Ein weiterer Vorteil von XForms gegenüber den herkömmlichen HTML Formularen ist, dass eine gewisse Flexibilität in die Formulare eingebracht werden kann. Beispielsweise können mit <insert> oder <delete> Formularfelder eingefügt bzw. gelöscht werden oder mit <switch> und <case> Eingabefelder nach gewissen Bedingungen angezeigt oder verborgen werden.

1. Einleitung

1.1 Zum Thema

Das Thema der vorliegenden Arbeit lautet „XForms“. XForms sind ein seit 2003 vom W3C verabschiedeter Standard und sind der XML-basierte Nachfolger der bis heute vorhandenen HTML Formulare.[1]

1.2 Zielsetzung

Mit dieser Arbeit sollen Einblicke in der Erstellung von Formularen mit der Technologie XForms gegeben werden. Es soll vermittelt werden, was XForms eigentlich sind, was für Bauteile XForms enthalten und wie ein Formular mit der Technologie XForms erstellt werden kann. Ziel der Arbeit ist nicht die Vermittlung von Kenntnissen wie HTML, XHTML, XML, XPath, XML Schema et cetera. Wer XForms verstehen will sollte sich mit den o. g. Technologien zumindest grundlegend auskennen.

1.3 Methodische Vorgehensweise und Aufbau der Arbeit

Um einen Einblick zu vermitteln, werden im zweiten Kapitel die Voraussetzungen zum Verständnis von XForms aufgezeigt. Im dritten Kapitel widme ich mich dem eigentlichen Thema XForms, wobei auf XForms Model, User Interface, Namespace, Aktionen und Events eingegangen wird. In Kapitel vier folgt eine praktische Umsetzung mit einem Beispielformular. Kapitel fünf enthält eine Beurteilung.

2. Voraussetzungen zum Verständnis von XForms

Bevor ich auf das eigentliche Thema XForms eingehe sollte ein allgemeines Verständnis der im Folgenden erläuterten Themen HTML, HTML Formulare, XHTML und XML vorliegen. Um sich weiter in diese Themen zu vertiefen existiert einschlägige Literatur.

2.1 HTML

“In computing, HyperText Markup Language (HTML) is a markup language designed for the creation of web pages and other information viewable in a browser. HTML is used to structure information -- denoting certain text as headings, paragraphs, lists and so on -- and can be used to define the semantics of a document.”[2] HTML ist also das Akronym für Hypertext Markup Language. Die bedeutet, ins deutsche Übersetzt, so viel wie Hypertext-Auszeichnungssprache. HTML Dokumente sind Textdokumente mit Inhalt, dem sie eine Struktur zuweisen. Dies geschieht über so genannte Tags, welche bestimmte Zeichenfolgen im Dokument sind.[3] So ist zum Beispiel möglich, eine normale Textdatei mit Tags zu füllen, als HTML Dokument zu speichern und im Browser anzeigen zu lassen. Durch die Tags wird die Darstellung des Textes verändert.

2.2 HTML Formulare

Formulare sind eine Möglichkeit in Kontakt mit dem Besucher einer Website zu treten.[4] Um ein oder mehrer Formularabschnitte in einem HTML Dokument zu erzeugen, werden die Tags <FORM> und </FORM> benötigt.[5] Um Informationen über ein Formular abzufragen, gibt es verschiedene Eingabeelemente. Das action-Attribut bestimmt das Empfänger-Script[6], welches für die Weiterverarbeitung der Daten verantwortlich ist. Das Empfänger-Script wird mittels der submit-Schaltfläche gestartet. Das method-Attribut legt die Versandart fest.[7] Versandarten sind get oder post. Bei der get-Methode werden die Daten an die in action definierte Zieladresse anhängt. Dies kann zu Problemen führen, da die Zieladresse nur 255 Zeichen lang sein darf. Mit der post-Methode können diese Probleme umgangen werden, da die Daten in ein Paket „geschnürt“ werden, was dann als ganzes zum Server übertragen wird.[8]

- Textfelder

Es gibt 2 Typen von Textfeldern, die einzeiligen Textfelder und die mehrzeiligen Textfelder. Um ein einzeiliges Textfeld in das Formular zu integrieren wird das <input>-Tag benutzt, wobei darauf zu achten ist, dass Attribut type=“text“ ist. Für mehrzeilige Textfelder wird das <textarea>-Tag benötigt.[9] Des Weiteren gibt es noch die Möglichkeit ein Textfeld für Passworteingaben zu generieren. Hierzu wird Attribut
type=“password“ gesetzt.

- Wahlfelder

Wahlfelder sind Radiobuttons, Checkboxen und Auswahllisten.

- Radiobuttons
werden verwendet, wenn aus einer Auswahl nur ein Element gewählt werden soll. Es ist darauf zu achten, dass im <input>-Tag das Attribut type=“radio“ ist.[10]

- Checkboxen
werden verwendet, wenn der Benutzer aus verschiedenen Möglichkeiten mehrere auswählen können soll. Auch hier wird das <input>-Tag benutzt, wobei
Attribut type=“checkbox“ ist.[11]

- Auswahllisten
Eine Kombination aus Radiobuttons und Checkboxen sind Auswahllisten. Es besteht die Möglichkeit mehrere, mindestens aber eine Angabe auszuwählen. Es kommen zwei Tags zur Anwendung: select und option.[12]

- Schaltflächen

Schaltflächen sind Buttons, die zwei Aufgaben bewältigen sollen, einerseits das Versenden des Formulars, andererseits das Löschen des Formulars. Somit gibt es also zwei Typen, die durch das input-Tag eingebunden werden. Um das Formular zu versenden wird type=“submit“ verwendet und zum Löschen des Formulars
type=“reset“.

2.3 XML

„XML, die Extensible Markup Language (etwa: erweiterbare Auszeichnungssprache), ist ein vom W3C eingeführter Standard zur Dokumentenauszeichnung“[13] Wie HTML verwendet auch XML Tags und Attribute, wobei HTML festlegt, was jedes Tag und Attribut bedeutet und XML Tags nur zur Abgrenzung von Daten verwendet. Die Interpretation der Daten wird der Anwendung überlassen. Mit anderen Worten, wird z. B. das Tag <p> in XML verwendet, muss es sich nicht um einen Absatz (engl. paragraph) handeln, sondern es kann beispielsweise Preis, Person oder auch etwas anderes bedeuten.[14] Ein XML Dokument muss wohlgeformt sein, das bedeutet, dass z. B. jedes Tag ein End-Tag besitzen muss.[15]

Beispiel:

<cd>

<cdtitel>Sommerhits</cdtitel>

<titel>

<titelname>Der Sonne entgegen</titelname>

<interpret>Siggi Singer</interpret>

</titel>

<titel>

<titelname>Die Sonne im Rücken</titelname>

<interpret>Trude Traeller</interpret>

</titel>

</cd>

Mit diesen definierten Elementnamen wurde ein XML-Dokumenttyp geschaffen, für den implizit Regeln gelten.[16] Genau hier setzt die Dokumententyp-Definition (DTD) an. Die DTD gibt dem XML-Prozessor im Wesentlichen an, welche Elemente und Attribute es in dem Dokument gibt, welche Elemente in anderen enthalten sind und welche Attribute es in welchem Element gibt. Das Dokument wird durch diese Typisierung gültig, denn die DTD enthält die Regeln der Dokumentstruktur.[17] Die Typdefinition mit Hilfe der DTD hat Grenzen, aus diesem Grund gibt es eine extra XML-Sprache zum Typisieren von XML-Dokumenten.[18] Diese Weiterentwicklung der DTD sind Schemata (XML Schema), die nicht nur ermöglichen festzulegen, welche Art von Daten in einem Element notiert werden dürfen, sondern auch, von welchem Typ die Daten sein müssen, beispielsweise Zeichenfolgen, Zahlen, etc.[19]

2.3.1 XML Namensräume

Namespaces sind in XML eine Erweiterung und werden verwendet, um Elementnamen eindeutig zu machen. Somit können verschiedene XML Dokumente die gleichen Elementnamen benutzen.[20]

2.3.2 XML Path Language (XPath)

Die XML Path Language dient zur Adressierung von Teilen eines XML Dokuments, so dass eine Navigation innerhalb des Dokuments möglich ist. XPath basiert auf der Baumstruktur eines XML Dokuments. Die Verzweigungen werden Knoten (node) oder bei mehreren Knoten node-set genannt.[21]

2.3.3 XSL-Transformation

XSLT stellt einen Teil von XSL (Extensible Stylesheet Language) dar. XSL bietet, wie auch CSS (Cascading Style Sheets), eine Möglichkeit ein XML Dokument zu formatieren.

2.3.4 XML Events

„Ein Ereignis ist die Repräsentation irgendeiner asynchronen Erscheinung (wie einem Mausklick auf die Darstellung eines Elements oder einem arithmetischer Fehler im Wert eines Attributs des Elements oder irgendeine von undenkbar vielen anderen Möglichkeiten), die mit einem Element (gezielt (target) auf ein Element) in einem XML-Dokument in Beziehung gesetzt wird.“[22]

2.4 XHTML

Die offizielle W3C-Empfehlung XHTML definiert HTML als XML-Applikation. Auf den ersten Blick unterscheidet sich XHTML kaum von HTML, denn es werden die gleichen Tags verwendet wie in HTML. Der Unterschied besteht darin, dass ein XHTML Dokument wohlgeformt sein muss, es aber eine striktere Syntax hat und somit auch ein XML-Dokument ist.[23] Momentan läuft die Entwicklung von XHTML 2. Die endgültige Prüfung soll im Dezember 2005 abgeschlossen sein.[24] In XHTML 2 sind XForms integriert.[25]

3. XForms – XML-basierte Web Forms

3.1 Was sind XForms

„XForms ist ein W3C-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.“[26] „Er trennt sauber zwischen Präsentation und Struktur, prüft mit XML Schema und berechnet Eingabedaten ohne JavaScript, referenziert interne und externe Datenquellen durch XPath und übermittelt die eingegebenen Daten als handliches XML an den Server.“[27] Ziel ist die Ablösung der traditionellen Web-Formulare wie sie in HTML definiert sind.[28]

3.2 XForms Bausteine

XForms Modelle sammeln und verarbeiten Formulareingaben unter Nutzung von verschiedenen existierenden W3C Standards.[29]

- XPath

„XPath dient zur Adressierung von Teilen eines XML Dokuments.“[30] XForms benutzt XPath für die Verbindung von User Interface Controls und Datenmodell.[31]

- XML Events

XML Events werden benutzt um interaktive Eigenschaften wie z. B. Mouse Events in XForms einzubinden. Ein Event Listener „horcht“ nach Events und führt dann entsprechende Aktionen aus.

- XML Namespace

Durch Namensräume werden Element- und Attributnamen, welche in einem XML Dokument verwendet werden können, eindeutig benannt. Mit URI-Verweisen werden die Element- und Attributnamen mit Namensräumen verknüpft.[32]

- XML Schema

„XML-Schema ist eine Empfehlung des W3C zum Definieren von XML-Dokumentstrukturen. Anders als bei den klassischen XML-DTDs wird die Struktur in Form eines XML-Dokuments beschrieben. Darüber hinaus wird eine große Anzahl von Datentypen unterstützt.“[33]

3.3 XForms Model

Das XForms Model beschreibt ein Datenmodell innerhalb eines <model> Elements.[34] Im Tag <model> definiert der Autor welche Formularfelder welche Daten erwarten, welche default- bzw. Vorgabewerte sie haben und was nach dem Absenden der Daten passieren soll.[35]

[...]


[1] Vgl. Braun, H. [Im Zeichen des Drachen, 2005] S. 139

[2] o. V. [Wikipedia HTML, 2005]

[3] Vgl. Lubkowitz, M. [Webseiten, 2005] S. 125

[4] Vgl. ebenda S. 223

[5] Vgl. Musciano, C. / Kennedy, B. [HTML & XHTML, 2003] S. 34

[6] Vgl. Lubkowitz, M. [Webseiten, 2005] S. 237

[7] Vgl. ebenda S. 237

[8] Vgl. Lubkowitz, M. [Webseiten, 2005] S. 224

[9] Vgl. ebenda S. 225

[10] Vgl. ebenda S. 231

[11] Vgl. ebenda S. 232

[12] Vgl. ebenda S. 232

[13] Harold, E. R./Means, W. S. [XML in a Nutshell, 2003] S. 3

[14] Vgl. Fischer, H. [XML in 10 Punkten, 2001]

[15] Vgl. Musciano, C. / Kennedy, B. [HTML & XHTML, 2003] S. 526

[16] Vgl. Bock, W. [XML, 2003] S. 135

[17] Vgl. ebenda S. 135

[18] Vgl. ebenda S. 141

[19] Vgl. Lubkowitz, M. [Webseiten, 2005] S. 871

[20] Vgl. Stein, M. [Workshop XML, 2002] S. 85

[21] Vgl. ebenda S. 93

[22] McCarron, S./Pemberton, S. Raman, T. V. [XML Events, 2003]

[23] Harold, E. R./Means, W. S. [XML in a Nutshell, 2003] S. 108

[24] Braun, H. [Das neue Web, 2005] S. 173

[25] Vgl. Axelsson, J. et al [XHTML 2, 2005]

[26] o. V. [Wikipedia XForms, 2005]

[27] Braun, H. [Das neue Web, 2005] S. 176

[28] Vgl. Richter, G. [XForms, 2004] S. 130

[29] Vgl. Raman, T. V. [XForms, 2004] S. 25

[30] Mintert, S. (Hrsg.) [XML & Co., 2002] S. 119

[31] Vgl. Raman, T. V. [XForms, 2004] S. 26

[32] Vgl. Mintert, S. (Hrsg.) [XML & Co., 2002] S. 99

[33] o. V. [Wikipedia XML Schema, 2005]

[34] Vgl. o. V., [XForms Model, 1999-2005]

[35] Vgl. Braun, H. [Das neue Web, 2005] S. 176

Details

Seiten
34
Jahr
2005
ISBN (eBook)
9783638458702
Dateigröße
789 KB
Sprache
Deutsch
Katalognummer
v49399
Institution / Hochschule
Hochschule Heilbronn, ehem. Fachhochschule Heilbronn
Note
1,7
Schlagworte
XForms Seminar E-Business Techniken

Autor

Teilen

Zurück

Titel: XForms. Eine Einführung in XML-basierte Web Forms