| Webapplikationen mit Unterstützung von XML | |
| Navigation: | Inhalt -> 4 Webapplikationen und XML -> 4.1 XHTML und andere W3C-Standards für Webseiten | Neues und Änderungen << Vorheriges Kapitel | Nächstes Kapitel >> |
| 4.1 | XHTML und andere W3C-Standards für Webseiten |
Der offensichtlichste Einfluss, den XML auf Webapplikationen beziehungsweise allgemein auf Webseiten hat, ist der Umstieg von HTML auf XHTML. In Zukunft werden aber Webseiten nicht nur aus XHTML-Code bestehen, sondern zusätzlich Daten anderer XML-Dokumenttypen enthalten.
| 4.1.1 | XHTML |
Während HTML noch eine SGML-Anwendung ist, ist XHTML ein XML-Dokumenttyp. Dabei ist XML selbst eine SGML-Anwendung, die nicht so komplex, dafür aber strikter als SGML ist. (Siehe Kapitel Kapitel 2.1.2 Von GML zu XML und [W3C-XHTML 2002].)
Die Vorteile des Einsatzes von XHTML zum Erstellen von Webseiten sind:
Von Nachteilen von XHTML gegenüber HTML kann man nicht sprechen, da es leicht möglich ist XHTML-Dokumente zu erstellen, die auch HTML-kompatibel sind. Auch das Umwandeln von bestehenden HTML-Dokumenten in XHTML-Dokumente ist relativ einfach. Es gibt auch automatische Werkzeuge dafür. Z.B. HTML Tidy, tidy.sourceforge.net/.
XHTML 1.0
Die erste XHTML Version (XHTML 1.0) ist prinzipiell nur ein XML-kompatibles HTML 4.01. Die Unterschiede zwischen HTML 4.01 und XHTML 1.0 kann man unter [W3C-XHTML 2002] genau nachlesen.
Für XHTML gibt es drei Dokumenttypen: XHTML 1.0 Strict, XHTML 1.0 Transitional und XHTML 1.0 Frameset. Im Dokumenttyp "Strict" ist Markup, der bereits früher vom W3C als "veraltet" bezeichnet wurde, nicht mehr enthalten. Anstatt dieser entfernten Elemente und Attribute sollte CSS verwendet werden. Im Dokumenttyp "Transitional", ist dieser Markup noch erlaubt. "Frameset" wird für Webseiten mit Frames verwendet.
Neben der XHTML 1.0-Empfehlung gibt es noch XHTML Basic und Modularization of XHTML. XHTML Basic beschreibt ein eingeschränktes XHTML speziell für einfache Clients wie PDAs, Mobiltelefone, etc. Durch Modularisierung können verschiedene Dokumenttypen in einem Dokument vereint werden. Die Links zu diesen Empfehlungen findet man unter [W3C-HTML 2003].
XHTML 1.1
Die Empfehlung XHTML 1.1 ist eine moderate Weiterentwicklung des XHTML 1.0 Dokumenttyp "Strict" in Richtung Modularisierung. Dies soll als Basis für zukünftige XHTML-Dokumenttypen dienen. [W3C-HTML 2003]
XHTML 2.0
XHTML 2.0 besteht momentan nur als Entwurf. Dieser ist nicht mehr rückwärtskompatibel mit früheren Versionen, wird dafür aber für Webapplikationen ausgelegt. Z.B. benutzt es Module wie XML-Events und XForms.
| 4.1.2 | XForms |
Eine Schwäche von HTML sind die sehr eingeschränkten HTML-Formulare. Dieser Tatsache trägt das W3C mit einem völlig überarbeitetem Formular-Konzept Rechnung. Die neuen Formulare werden XForms genannt und liegen zur Zeit als Anwärter auf eine Empfehlung ("Candidate Recommendation") unter [W3C-XForms 2002a] vor.
Bei der Verwendung von XForms werden die logische Struktur, die Daten (instance data) und die Darstellung klar getrennt. Da die Darstellung getrennt ist, kann ein Formular mit verschiedenen Darstellungsformen für verschiedene Clients verwendet werden. Weiters gibt es zwei Ausführungen von XForms: XForms Basic und XForms Full. XForms Basic hat einen eingeschränkten Funktionsumfang und ist für weniger leistungsfähige Clients (Mobiletelefone, PDAs etc.) gedacht.
Die Formulardaten werden als XML-Daten zwischen Client und Server übertragen. Erlaubte Daten können dabei mit Hilfe von XML-Schema genau definiert werden. Es kann daher clientseitig schon überprüft werden, ob die eingegebenen Daten korrekt sind. Dabei können auch Abhängigkeiten von Werten anderer Felder berücksichtigt werden: Bei einem Formular zur Auswahl der Zahlungsweise kann entweder per Nachnahme oder per Kreditkarte ausgewählt werden. Bei der Bezahlung per Kreditkarte müssen noch die korrekten Kreditkartendaten angegeben werden. Dabei kann mit Mitteln von XForms und XML-Schemas - ohne Javascript - sichergestellt werden, dass eine grundsätzlich korrekte Kreditkartennummer und ein gültiges Datum angegeben wurde, falls die Bezahlung per Kreditkarte ausgewählt worden ist.56 Ist "Nachnahme" ausgewählt worden, dann werden diese Daten nicht benötigt und müssen auch nicht überprüft werden.
Mit XForms wurden auch neue Formularelemente eingeführt. Das "Range"-Element erlaubt die Auswahl eines Wertes aus einem bestimmten Bereich, z.B. in Form eines Schiebereglers. Mit dem Group-Element können mehrere Formularelemente gruppiert werden.
Mit dem "Switch"-Modul ist es möglich, Formularelemente zu Einheiten zusammenzufassen. Dabei wird immer nur eine dieser Einheiten angezeigt. Zwischen den Einheiten kann dann gewechselt werden. Beim Umschalten muss dabei nichts neu vom Server geladen werden. Vermutlich sollte dieses Konzept den Reitern (engl.: Tabs) entsprechen, wie man sie von Dialogboxen der grafischen Betriebssysteme her kennt.
Schließlich gibt es noch das "Repeat"-Modul. Damit können Listen von Formularelementen erstellt werden. Diese Listen können dynamisch erweitert oder verkleinert werden.
Interessant ist, dass bei XForms wirklich viele XML-Standards zusammenspielen. XForms selbst verwendet XPath zum Zugriff auf die Formularelemente. Zur Datenvalidierung werden XML-Schemas verwendet. Das Ereignis-Modell benutzt XML-Events und DOM2.
Umgekehrt sind XForms nicht nur für eine Einbettung in XHTML geeignet, sondern sollen auch in andere Umgebungen eingesetzt werden können.
56Natürlich kann nur überprüft werden, ob die Kreditkartennummer und das Gültigkeitsdatum korrekt im Sinne des richtigen Datentyps ist. Ob die Nummer und das Datum mit dem Namen übereinstimmen, kann so nicht überprüft werden.
| Nächstes Kapitel >> |
| Zum Seitenanfang | diplomarbeit_o a-t schmiderer d-o-t cc | 2003-04-25 |