| |
XHTML: XHTML Basic
von Jan Winkler
XHTML Basic ist eine Untergruppe von XHTML. Ein Problem von XHTML ist, dass zum (korrekten) Darstellen von Dokumenten meist aufwendige Programme, ein schneller Prozessor und/oder ein großer Arbeitsspeicher notwendig sind. Geräte mit begrenzten Kapazitäten, wie z.B. Mobiltelefone, PDAs, Settop-Boxen oder Pager, können dabei nicht schritthalten und geraten somit in einen Nachteil. Damit dies nicht der Fall ist und eine möglichst weitflächige Verbreitung und vielseitiger Zugang zu Informationen ermöglicht werden kann, wurde XHTML Basic geschaffen. Es bietet nur das Minimum an benötigten Elementen und Attributen (etc.) und wird somit leichter verwendbar und implementierbar sein. Des Weiteren wird es aufgrund ihrer Nähe zu XHTML von den meisten Webdesignern einfach und schnell zu verstehen sein.
Die Entstehung von XHTML Basic beginnt mit der Erfindung von mobilen Geräten mit denen man auf das Internet,WWWoder WAP-Dienste zugreifen kann. Seit dem existieren mehrere - meist firmenabhängige - Ideen und auch Sprachen, die eine Auszeichnung von Dokumenten für ebendiese (eingeschränkten) Geräte beschreiben und zulassen. Eine derartige Sprache ist beispielsweise WML die vom WAPForum herausgegeben und vertrieben wird. XHTML Basic greift bestimmte Grundideen und Elementtypen der bereits bestehenden Sprachen (wie z.B. Text-Dekoration, (Hyper-)Links, Formulare, Tabellen, Grafiken und Meta-Informationen) auf und verwendet diese. Dazu wurde Ende 2000 die erste Spezifikation (besser gesagt, die erste Recommendation zur Spezifikation von XHTML Basic) vom W3C herausgegeben.
XHTML Basic ist von XHTML abgeleitet und wird durch die Verwendung von XHTML Modulen erweitert werden. Die Dokumenttyp-Definition (DTD) von XHTML Basic baut selbst auch schon auf der Ideen von Modulen auf und ist als solche implementiert.
Das verwenden von Modulen bringt einige wichtige Vorteile:
- Module können fast beliebig verwendet werden
- der Einsatz von bestimmten Modulen kann für bestimmte Geräte separat geregelt werden
- die Sprache an sich wird dadurch leichter (~ weniger)
Damit ein Dokument als ein korrektes XHTML Basic Dokument anerkannt werden kann muss es die folgenden Kennzeichen aufweisen:
- Das Dokument darf nur Elemente der XHTML Basic DTD sowie Elemente die mit den Regeln dieserDTDübereinstimmend sind verwenden.
- Das Haupt-Element muss das
html-Element sein.
- Der Standard-Namespace des Haupt-Elements muss der von XHTML sein (
xmlns="http://www.w3.org/1999/xhtml").
- Es muss eine DOCTYPE-Beschreibung geben, die auf die XHTML Basic DTD verweist (
<!DOCTYPE html PUBLIC "-//W3C//DTDXHTMLBasic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">).
- Es muss eine DOCTYPE-Beschreibung geben, die vor dem Haupt-Element zu finden ist.
- Wenn weitere DTDs eingebettet werden, darf keine Eigenschaft der XHTML Basic DTD überschrieben oder ersetzt werden.
Damit XHTML Basic funktionieren kann bedarf es einigen Einschränkungen. Diese sind wie folgt:
Der Grundstamm von Forumlarelementen kann verwendet werden. Dazu gehören: form, input (text, password, checkbox, radio, submit, reset, hidden), label, select, option und textarea. Alle anderen Formularelemente werden aufgrund ihres geringen Nutzen für mobile Geräte nicht unterstützt. Des Weiteren sollte daran gedacht werden, dass die Benutzer möglicherweise nicht in der Lage dazu sein könnten lange Texte einzugeben.
Da die meisten mobilen Geräte kaum oder nur wenige Möglichkeiten bieten Text zu gestalten, werden einige Text-Elemente nicht unterstützt. Dazu gehören u.a. b, i, u, bdo, del und ins, big und small, sub und sup sowie tt.
Sämtliche Arten von Rahmen werden aufgrund der meist zu kleinen Anzeigefläche nicht unterstützt.
Scripte werden nicht unterstützt (script, noscript) da bei mobilen Geräten meist eine zu kleine Rechenleistung vorliegt, sodass diese nicht in der Lage sind einfache oder komplexe Skripte auszuführen. Deshalb wird davon abgeraten.
Ebenso werden keine Events d.h. event-Attribute oder -Elemente unterstützt, da es kein einheitliches System gibt, welche Events verwendet werden sollten.
StyleSheets (z.B. CSS) sollten nur in externen Dateien angeboten werden. Dies geschieht dazu, dass Geräte, die keine StyleSheets unterstützen keine unnötigen Daten laden müssen. Demzufolge ist das style-Element nicht in XHTML Basic enthalten. Um externe StyleSheets anzubieten kann - wie gewohnt - das link-Element verwendet werden. Des weiteren werden die Elemente span und div sowie das class sowie das media-Attribut zur stilistischen Anpassung durch StyleSheets unterstützt.
XHTML Basic unterstützt Tabellen nur in ihren einfachsten Gefügen. So sind nur unverschatelte Tabellen mit den folgenden Elementen möglich (alle anderen Tabellen-Elemente werden aufgrund ihres geringeren Nutzens für mobile Geräte nicht unterstützt): table, tr, th, td und caption.
Nicht enthalten sind u.a.: col und colgroup sowie thead, tbody und tfoot.
Die folgenden Elemente (mit ihren Attributen) sind in XHTML Basic:
-
abbr, acronym, address, body, caption, cite, code, dfn, div, dl, dt, dd, em, h1 - h6, kbd, li, p, ol, samp, span, strong, ul, var
class, id, title xml:lang
-
a
accesskey charset href hreflang rel rev tabindex type class, id, title xml:lang
-
base
href
-
blockquote, q
cite class, id, title xml:lang
-
br
class, id, title
-
form
action method (get | post) enctype class, id, title xml:lang
-
head
profile xml:lang
-
html
version xmlns (http://www.w3.org/1999/xhtml) xml:lang
-
img
alt height longdesc src width class, id, title xml:lang
-
input
accesskey checked (checked) maxlength name size src tabindex type (text | password | checkbox | radio | submit | reset | hidden) value class, id, title xml:lang
-
label
accesskey for class, id, title xml:lang
-
link
charset href hreflang media rel rev type class, id, title xml:lang
-
meta
content http-equiv name scheme xml:lang
-
object
archive classid codebase codetype data declare (declare) name standby tabindex type width class, id, title xml:lang
-
option
selected (selected) value class, id, title xml:lang
-
param
id name type value valuetype (data | ref | object)
-
pre
xml:space (preserve) class, id, title xml:lang
-
select
multiple (multiple) name size tabindex class, id, title xml:lang
-
table
summary width class, id, title xml:lang
-
td, th
abbr align (left | center | right) axis colspan headers rowspan scope (row | col) valign (top | middle | bottom) class, id, title xml:lang
-
textarea
accesskey cols name rows tabindex class, id, title xml:lang
-
title
xml:lang
-
tr
align (left | center | right) valign (top | middle | bottom) class, id, title xml:lang
|
|  |
|
| |