Deutsche Übersetzung der Spezifikation XHTML Basic 1.1

Übersetzung vom 06.09.2009

Die einzige normative Version ist die englische Version unter:
http://www.w3.org/TR/2008/REC-xhtml-basic-20080729

Diese Übersetzung ist zu finden unter:
http://www.schumacher-netz.de/TR/2008/REC-xhtml-basic-20080729-de.html

Diese Übersetzung kann Fehler enthalten. Kommentare oder Korrekturvorschläge zu dieser deutschen Übersetzung senden Sie dem Übersetzer bitte per Email.

Weitere Übersetzungen zum Thema XML finden Sie auf den Seiten des Übersetzers.

Übersetzer: Stefan Schumacher (www.schumacher-netz.de)
Informationen zum Urheberrecht.

W3C

XHTML Basic 1.1

W3C-Empfehlung vom 29. Juli 2008

Diese Version:
http://www.w3.org/TR/2008/REC-xhtml-basic-20080729
Aktuelle Version:
http://www.w3.org/TR/xhtml-basic
Vorherige Version:
http://www.w3.org/TR/2008/PR-xhtml-basic-20080611
Unterschiede hervorgehoben zur vorherigen Version:
xhtml-basic-diff.html
Unterschiede hervorgehoben zur vorherigen Empfehlung:
xhtml-basic-rec-diff.html
Editoren der Version 1.1:
Shane McCarron, Applied Testing and Technology, Inc.
Masayasu Ishikawa, (bis März 2007, während seiner Tätigkeit beim W3C)
Editoren:
Mark Baker, Sun Microsystems
Masayasu Ishikawa, (bis März 2007, während seiner Tätigkeit beim W3C)
Shinichi Matsui, Panasonic
Peter Stark, Ericsson
Ted Wugofski, Openwave Systems
Toshihiko Yamakami, ACCESS Co., Ltd.

Bitte konsultieren Sie die Errata für dieses Dokument, die normative Korrekturen für dieses Dokument enthalten können.

Beachten Sie auch die Übersetzungen.

Dieses Dokument ist auch in diesen nicht normativen Formaten erhältlich: PostScript, PDF, ZIP-Archiv, und Gezipptes TAR-Archiv.


Kommentar des Übersetzers

In dieser Spezifikation sind Kommentare des Übersetzers in dieser Form angegeben. Als div in einem eigenen Kasten oder im Text unterlegt mit dieser Hintergrundfarbe.
Diese Kommentare sind nicht Teil der Spezifikation und sollen nur als Hilfe oder Wegweiser dienen, um Hintergrundinformationen zu geben oder eine komplexe Schreibweise in der Spezifikation aufzulockern. Die Kommentare unterliegen dem Urheberrecht des Übersetzers.

Zusammenfassung

Der XHTML-Basic-Dokumenttyp schließt die Module ein, die mindestens erforderlich sind, um ein Dokumenttyp der XHTML-Muttersprache zu sein. Zusätzlich beinhaltet er Grafiken, Formulare, grundlegende Tabellen und Objektunterstützung. Er ist für Web-Clients geschaffen worden, die nicht alle XHTML-Eigenheiten unterstützen; zum Beispiel Web-Clients wie Mobiltelefone, PDAs, Pager oder Settop-Boxen. Dieser Dokumenttyp ist ausreichend für Inhaltserstellung ausgestattet.

XHTML Basic ist als allgemeine Grundlage entworfen worden, die erweitert werden kann. Zum Beispiel kann ein Ereignismodul, das umfassender ist als das traditionelle HTML-4-Ereignissystem, eingefügt werden oder es kann durch zusätzliche Module der XHTML-Modularisation, wie dem Skript-Modul, erweitert werden. Das Ziel von XHTML Basic ist es, eine gemeinsame Sprache vorzulegen, die von verschiedensten Benutzerschnittstellen unterstützt wird.

Diese Version 1.1 ersetzt Version 1.0 wie in http://www.w3.org/TR/2000/REC-xhtml-basic-20001219 definiert. Mehrere neue Eigenschaften wurden in diese Revision eingearbeitet, um den Benutzern kleiner Geräte, die Hauptnutzer dieser Sprache sind, besser gerecht zu werden:

  1. XHTML Forms (definiert in [XHTMLMOD])
  2. Intrinsic Events (definiert in [XHTMLMOD])
  3. Das Attribut value für das Element li (definiert in [XHTMLMOD])
  4. Das Attribut target (definiert in [XHTMLMOD])
  5. Das Element style (definiert in [XHTMLMOD])
  6. Das Attribut style (definiert in [XHTMLMOD])
  7. Das XHTML-Darstellungsmodul (presentation module) (definiert in [XHTMLMOD])
  8. Das Attribut inputmode (definiert in Abschnitt 5 dieses Dokuments)

Die Dokumenttyp-Definition ist auf Grundlage der XHTML-Module implementiert, wie in Modularisierung von XHTML [XHTMLMOD] beschrieben.

Status dieses Dokuments

Dieser Abschnitt beschreibt den Status dieses Dokuments zur Zeit seiner Publikation. Andere Dokumente können dieses Dokument ersetzen. Eine Aufstellung aktueller W3C-Publikationen und die aktuelle Revision dieses Technischen Reports befindet sich im Index der Technischen Reporte des W3C unter http://www.w3.org/TR/.

Dieses Dokument ist eine W3C-Empfehlung und ersetzt die Version der XHTML Basic-Empfehlung vom 19. Dezember 2000. Die Empfehlung spiegelt eine wirtschaftsübergreifende Übereinkunft über bestimmte Eigenschaften der Markup-Sprache wieder, die es Autoren gestattet, reichhaltigen Web-Inhalt zu erzeugen, der an verschiedenste Geräte geliefert werden kann.

Dieses Dokument ist von der W3C XHTML2 Arbeitsgruppe als Teil der W3C HTML Arbeitsgruppe erstellt worden. Bitte konsultieren Sie den Implementierungbericht der Arbeitsgruppe. Eine gibt eine Version, die die Unterschiede zur Vorgeschlagenen Empfehlung hervorhebt. Eine Version, die die Unterschiede zur Empfehlung vom 19. Dezember 2000 hervorhebt, ist ebenfalls verfügbar.

Bitte schicken Sie Kommentare über diese Dokument an www-html-editor@w3.org (Archiv). Es ist nicht angebracht, Diskussionen an diese E-Mail-Adresse zu senden. Öffentliche Diskussion kann auf www-html@w3.org (Archiv) stattfinden.

Diese Dokument wurde von W3C-Mitgliedern, von Software-Entwicklern und von anderen W3C-Gruppen und Interessierten überprüft und ist vom Direktor als eine W3C-Empfehlung anerkannt. Sie ist ein beständiges Dokument und kann als Referenzmaterial verwendet oder durch andere Dokumente zitiert werden. Die Rolle des W3C bei der Erstellung dieser Empfehlung ist es, die Aufmerksamkeit auf das Dokument zu lenken und ihre weitläufige Verbreitung zu fördern. Dieses verbessert die Funktionalität und die Interoperabilität des Webs.

Diese Dokument wurde von einer Gruppe erstellt, die unter der W3C Patent Policy vom 05. Februar 2004 arbeitet. W3C pflegt eine öffentliche Aufstellung aller Patentoffenlegungen, die in Verbindung mit den gelieferten Ergebnissen erstellt wurde; diese Seite enthält auch Anweisungen zur Offenlegung eines Patents. Ein Individuum, das aktuelles Wissen über ein Patent hat, das nach Glauben dieses Individuums essentielle Forderungen enthält, muss diese Informationen in Übereinstimmung mit Abschnitt 6 der W3C Patent Policy offenlegen.

Inhaltsverzeichnis

1. Einleitung

1.1. XHTML für kleine Informationsgeräte

HTML 4 ist eine leistungsstarke Sprache für Webinhalte, aber das Design passt nicht zu den Anforderungen kleiner Benutzerschnittstellen, z.B. zu den Implementierungskosten (Prozessortakt, Speicher, etc.), sofern alle Eigenschaften verwendet werden. Benutzerschnittstellen mit begrenzten Resourcen können eine volle Implementierung der HTML-4-Eigenschaften nicht generell unterstützen. Da nur mit einem voll ausgerüsteten Computer der Zugang zum World Wide Web möglich ist, ist eine große Personengruppe vom Zugang zu Online-Informationen und Online-Diensten ausgeschlossen.

Da es viele Möglichkeiten gibt, HTML zu beschneiden, existieren viele fast identische Untermengen, die von Organisationen und Gesellschaften definiert wurden. Ohne eine gemeinsame Grundlage wird es schwierig, Applikationen für eine große Zahl verschiedener Web-Clients zu entwickeln.

Die Motivation für XHTML Basic besteht darin, einen XHTML-Dokumenttyp bereitzustellen, der von Gemeinschaften geteilt werden kann, (z.B. von Desktops, TVs und Mobiltelefonen), und der reich genug für einfache Inhaltserstellung ist. Neue gemeinschaftsweite Dokumenttypen können durch die Erweiterung vonXHTML Basic in der Weise definiert werden, dass XHTML Basic-Dokumente innerhalb des gültigen Bereichs des neuen Dokumenttyps liegen. So kann ein XHTML Basic-Dokument von möglichst vielen Web-Clients angezeigt werden.

Die Dokumenttyp-Definition für XHTML Basic ist auf Grundlage der XHTML-Module implementiert, die in XHTML-Modularisierung [XHTMLMOD] beschrieben werden.

Für Informationen zum besten Vorgehen bei mobilem Inhalt verweisen wir Sie auf [MOBILEBP].

1.2. Hintergrund und Anforderungen

Informationsgeräte sind für bestimmte Zwecke gedacht. Sie unterstützen die Eigenschaften, die sie für die Funktionen benötigen, die sie erfüllen sollen. Die folgenden Beispiele zeigen verschiedene Informationsgeräte:

Existierende Untermengen und Varianten von HTML für diese Clients schließen "Compact HTML" [CHTML], die "Wireless Markup Language" [WML] und die "HTML 4.0 Guidelines for Mobile Access" [GUIDELINES] ein. Die gemeinsamen Eigenschaften in diesen Dokumenttypen beinhalten:

Diese HTML-Eigenschaften waren der Ausgangspunkt für das Design von XHTML Basic. Weil sich viele Autoren mit den Eigenschaften von HTML auskennen, bilden sie eine nützliche Ausgangssprache, die mit Markup-Modulen anderer Sprachen kombiniert werden kann, entsprechend den Methoden, die in XHTML-Modularisierung [XHTMLMOD] beschrieben sind. Zum Beispiel kann XHTML Basic mit einem angepassten Modul erweitert werden, um reichhaltigere Auszeichnungssemantik in bestimmten Umgebungen zu unterstützen.

Es ist nicht die Intention von XHTML Basic, zukünftige Sprachen zu limitieren. Weil aber die Charakteristiken von HTML 4 (Rahmen, komplexe Tabellen, bestimmte Attribut-Event-Handler usw.) für Clients wie Desktop-Computer entwickelt wurden, hat sich gezeigt, dass sie nicht für kleinere Geräte geeignet sind. XHTML Basic wird erweitert und ausgebaut werden. XHTML von gemeinsamen und grundlegenden Eigenschaften aus zu erweitern, anstatt von fast identischen Untermengen oder zu umfangreichen Funktionen in HTML 4, wird sowohl für die Interoperabilität im Web als auch für die Skalierbarkeit von Vorteil sein.

Verglichen mit der reichhaltigen Funktionalität von HTML 4, sieht XHTML Basic vielleicht wie ein Rückschritt aus, aber in der Tat sind es zwei Schritte voraus, auf der einen Seite für Clients, die viele Eigenheiten von HTML 4 nicht benötigen und auf der anderen Seite für Entwickler, die nur eine XHTML-Untermenge anstatt von vielen bekommen.

1.3. Rationelles Design

Dieser Abschnitt erklärt, warum bestimmte HTML-Eigenschaften nicht Teil von XHTML Basic sind.

1.3.1. Darstellung

Viele einfache Web-Clients können nur Monospace-Schriftzeichen darstellen. Bidirektionaler Text, fettgedruckte Schriftarten und andere Texterweiterungs-Elemente werden nicht unterstützt.

Es wird empfohlen, dass Style Sheets verwendet werden, um eine Darstellung zu erzeugen, die für das Gerät angemessen ist.

1.3.2. Tabellen

Basic XHTML-Tabellen ([XHTMLMOD], Abschnitt 5.6.1) werden unterstützt, aber Tabellen könnten auf kleinen Geräten schwierig darzustellen sein. Es wird empfohlen, dass Entwickler den Web Content Accessibility Guidelines 1.0 zur Erstellung zugänglicher Tabellen ([WCAG10], Richtlinie 5) folgen. Beachten Sie, dass im Basic-Tabellenmodul verschachtelte Tabellen nicht gestattet sind.

1.3.3. Rahmen

Rahmen werden nicht unterstützt. Rahmen erfordern ein Bildschirm-Interface und sind eventuell für kleine Geräten wie Telefone, Pager und Uhren nicht geeignet.

2. Konformität

Dieser Abschnitt ist normativ.

2.1. Dokumentkonformität

Ein konformes XHTML Basic-Dokument ist ein Dokument, das nur die Eigenschaften erfordert, die in dieser Spezifikation vorgeschrieben sind. Ein solches Dokument muss alle folgenden Kriterien erfüllen:

  1. Das Dokument muss konform zu den Auflagen in Anhang B sein.
  2. Das Wurzelelement des Dokuments muss <html> sein.
  3. Der Name des voreingestellten Namensraums für das Wurzelelement muss der XHTML-Namensraumname sein, http://www.w3.org/1999/xhtml.
  4. Im Dokument muss es eine DOCTYPE-Deklaration vor dem Wurzelelement geben. Sofern vorhanden, muss der öffentliche Identifizierer in der DOCTYPE-Deklaration unter Verwendung des formalen öffentlichen Identifizierers auf die DTD verweisen, die im Anhang B zu finden ist. Der Systemidentifizierer kann angemessen angepasst werden.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
        "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
    
  5. Die DTD-Untermenge darf nicht verwendet werden, um irgendeine Parameter-Entität in der DTD zu überschreiben.

XHTML Basic 1.1-Dokumente SOLLTEN mit dem Internet-Medientyp "application/xhtml+xml" beschriftet werden, wie in [RFC3236] definiert. Weitere Informationen zur Verwendung von Medientypen in XHTML finden sich im informativen Hinweistext [XHTMLMIME].

2.2. Konforme Benutzerschnittstellen

Die Benutzerschnittstelle muss konform zum Abschnitt "Konforme Benutzerschnittstellen" der Spezifikation XHTML 1.0 ([XHTML1], Abschnitt 3.2) sein.

3. Der XHTML Basic-Dokumenttyp

Dieser Abschnitt ist normativ.

Der XHTML Basic-Dokumenttyp wird aus XHTML-Modulen definiert. Alle XHTML-Module sind in der Spezifikation "XHTML-Modularisierung" [XHTMLMOD] definiert.

XHTML Basic besteht aus den folgenden XHTML-Modulen:

Strukturmodul*
body, head, html, title
Textmodul*
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
Hypertext-Modul*
a
Listenmodul*
dl, dt, dd, ol, ul, li
Formularmodul
button, fieldset, form, input, label, legend, select, optgroup, option, textarea
Grundtabellenmodul
caption, table, td, th, tr
Bildmodul
img
Objektmodul
object, param
Darstellungsmodul
b, big, hr, i, small, sub, sup, tt
Metainformationsmodul
meta
Verweismodul
link
Base-Modul
base
Modul für eingebettete Ereignisse
Event-Attribute
Skriptmodul
Die Elemente script und noscript
Stylesheet-Modul
Das Element style
Modul für das Attribut style Veraltet
Das Attribut style
Target-Modul
Das Attribut target.

Beachte:

  1. Das Attribut target ist als allgemeiner Anker zur Anbindung externer Umgebungen konzipiert (wie zum Beispiel Rahmen, Mehrfachfenster und Browser-Fenster in der Darstellung als Registrierkarten); ist keine solche externe Umgebung an die Benutzerschnittstelle gebunden, darf die Benutzerschnittstelle das Attribut target ignorieren. Ist eine externe Umgebung angebunden, werden die Konformtitätsanforderungen in jeder einzelnen Umgebung definiert.
  2. Dem Autor muss bewusst sein, dass das Verhalten der Benutzerschnittstelle für das Attribut target von vielen Faktoren abhängt, von der Existenz einer gebundenen Umgebung, von Beschränkungen der verfügbaren Resourcen, von der Existenz anderer Programme und Benutzereinstellungen (wie zum Beispiel Pop Up-Blocker) und anwendungsabhängigen Darstellungsaufbau. Besteht keine konforme externe Umgebung, wird empfohlen, dass sich Autoren nicht von der Verwendung des Attributs target abhängig machen.
  3. Es sollte darauf hingewiesen werden, dass jede anwendungsabhängige Verwendung des Attributs target Interoperabilität verhindern könnte.

(*) = Dieses Modul ist ein erforderliches Modul der XHTML-Wirtsprache.

XHTML Basic verwendet auch das Modul für das XHTML-Attribut inputmode wie in dieser Spezifikation definiert. Dieses Modul erweitert die Elemente input und textarea des XHTML-Formularmoduls um das Attribut inputmode.

Schlussendlich erweitert XHTML Basic das Element li des XHTML-Listenmoduls um das Attribut value.

Eine DTD von XML 1.0 DTD ist verfügbar unter Appendix B.

4. Wie XHTML Basic verwendet wird

Obwohl die Sprache XHTML Basic verwendet werden kann, wie sie ist - als eine einfache XHTML-Sprache mit Text, Verweisen und Bildern - ist die Absicht hinter dem einfachen Aufbau, die Verwendung als Wirtsprache. Eine Wirtsprache kann ein Gemisch aus Vokabularen enthalten, die alle in einen Dokumententyp eingelagert sind. Naturgemäß ist XHTML die Wirtsprache, weil Internet-Entwickler daran gewöhnt sind.

Wird Markup aus anderen Sprachen zu XHTML Basic hinzugefügt, ist der daraus hervorgenende Dokumententyp eine Erweiterung von XHTML Basic. Autoren können Inhalte für XHTML Basic erstellen oder den Vorteil der Erweiterungen nutzen. Das Ziel von XHTML Basic ist es, als gemeinsame Sprache zu dienen, die von verschiedensten Benutzerschnittstellen unterstützt wird.

5. Modul für das XHTML Attribut inputmode

Dieser Abschnitt ist normativ.

Dieser Abschnitt war ursprünglich eine Komponente von XForms 1.0 und wurde von Martin Duerst verfasst.

Das Modul für das Attribut inputmode definiert das Attribut inputmode.

inputmode = CDATA
Diese Attribut gibt Darstellungsinformationen für das aktuelle Element an.

Die folgende Tabelle listet zusätzliche Attribute für Elemente auf, die anderswo definiert sind, wenn das Modul inputmode ausgewählt ist.

Elemente Attribute Bemerkungen
input& inputmode (CDATA) Wenn das Grundlegende Formularmodul oder das Formularmodul ausgewählt sind.
textarea& inputmode (CDATA) Wenn das Grundlegende Formularmodul oder das Formularmodul ausgewählt sind.

Das Attribut inputmode gibt der Benutzerschnittstelle einen Hinweis darauf, einen passenden Eingabemodus für Texteingaben in ein verknüpftes Formular-Steuerelement auszuwählen. Der Eingabemodus kann eine Tastaturkonfiguration, ein Eingabemethoden-Editor (auch Front End-Prozessor genannt) oder jede andere Einstellung sein, die die Eingabe betrifft, die im Gerät (in den Geräten) verwendet wird.

Kommentar des Übersetzers

Ein Eingabemethoden-Editor wandelt zum Beispiel Tastatureingaben einer deutschen "latin"-Tastatur in Bildschriftzeichen der ägyptischen Hiroglyphen oder in chinesische Schriftzeichen um. Gebräuchlich in Textverarbeitungsprogrammen und Tabellenkalkulationen.

Mit Verwendung von inputmode kann der Autor der Schnittstelle Hinweise geben, um die Formulareingabe für den Benutzer einfacher zu machen. Autoren sollten das Attribut inputmode nutzen, woimmer es möglich ist und dabei sicherstellen, dass die verwendeten Werte möglichst viele Geräte ansprechen.

5.1 Syntax des Attributwerts von inputmode

Der Wert des Attributs inputmode ist eine Liste von Token, getrennt durch Leerzeichen. Token sind entweder Folgen von alphabetischen Zeichen oder absolute URIs. Die Letzteren können von den Ersteren unterschieden werden, wenn man beachtet, dass absolute URIs ein ':' enthalten. Token unterscheiden zwischen Groß- und Kleinschreibung, sind case-sensitive. Alle Token, die nur aus alphabetischen Zeichen bestehen, sie sind in dieser Spezifikation definiert, in 5.3 Liste der Token (oder einem Nachfolger dieser Spezifikation).

Diese Spezifikation definiert keine URIs zur Verwendung als Token, erlaubt aber anderen, solche URIs zur Erweiterung zu definieren. Das kann für Geräte notwendig werden, die Eingabemethoden verwenden, die nicht von den Token abgedeckt werden, die hier gegeben werden. Der URI sollte zu einer von Menschen zu lesenden Beschreibung der Eingabemethode verweisen, die mit der Verwendung des URIs als Token verbunden ist. Diese Beschreibung sollte die Eingabemethode beschreiben, die von diesem Token angegeben wird, und ob und wie dieses Token andere Token modifiziert oder von anderen Token modifiziert wird.

5.2 Verhalten von Benutzerschnittstellen

Beim Antreffen eines leeren Formular-Steuerelements mit einem inputmode-Attribut, sollte die Benutzerschnittstelle die Eingabemethode wählen, die vom inputmode-Attributwert angegeben wird. Benutzerprogramme sollten das inputmode-Attribut nicht verwenden, um die Eingabemethode zu wählen, wenn das angetroffene Formular-Steuerelement bereits Text enthält. Um die entsprechende Eingabemethode anzugeben, wenn ein angetroffenes Formular-Steuerelement bereits Text enthält, sollten sich Benutzerschnittstellen auf plattform-spezifische Konventionen stützen.

Benutzerschnittstellen sollten alle Eingabemethoden verfügbar machen, die vom (Betriebs-)System/Gerät, auf dem sie laufen bzw. zu dem sie Zugang haben, unterstützt werden und die für die normale Verwendung durch den Benutzer installiert sind. Das sind gewöhnlich nur wenige der Eingabemethoden, die mit den Token beschrieben werden können, die hier definiert sind.

Beachte:

Zusätzliche Richtlinien für die Implementierung von Benutzerschnittstellen gibt es unter [UAAG 1.0].

Der folgende einfache Algorithmus wird verwendet, um zu definieren, wie Benutzerschnittstellen die Werte eines inputmode-Attributs den Eingabemethoden zuordnen, die sie zur Verfügung stellen können. Dieser Algorithmus muss nicht direkt implementiert werden, Benutzerschnittstellen müssen sich nur so verhalten, als würden sie ihn benutzen. Der Algorithmus ist nicht dazu geschaffen, "offensichtliche" oder "erwünschte" Ergebnisse für jede mögliche Kombination von Token zu erzeugen, aber um richtiges Verhalten für gängige Token-Kombinationen und vorhersehbares Verhalten in allen Fällen zu erzeugen.

Erstens, jede verfügbare Eingabemethode wird durch eine oder mehrere Listen mit Token vertreten. Eine Eingabemethode kann von mehr als einer Token-Liste vertreten werden; zum Beispiel würden auf einem System, das für einen griechischen Benutzer eingerichtet ist, sowohl "greek upperCase" als auch "user upperCase" die gleiche Eingabemethode vertreten. Zwei Listen können nicht gleich sein.

Zweitens, das Attribut inputmode wird vom Anfang bis zum Ende untersucht. Für jedes Token t im Attibut inputmode gilt: gibt es in der übrig bleibenden Token-Liste, die verfügbare Eingabe-Methoden vertritt, irgendeine Token-Liste, die t enthält, dann werden alle nicht t enthaltenden Token-Listen, die verfügbare Eingabe-Methoden vertreten, entfernt. Gibt es keine übrig bleibende Token-Liste, die t enthält, dann wird t nicht beachtet.

Drittens, sind ein oder mehrere Token-Listen übrig, und vertreten sie alle die gleiche Eingabemethode, dann wird diese Eingabemethode ausgewählt. Ist keine Liste übrig (gleichbedeutend mit, es gab keine zu Beginn) oder vertritt die übrig gebliebene Liste mehr als eine Eingabemethode, dann wird keine Eingabemethode ausgewählt.

Beispiel: Angenommen, die Liste der Token-Listen, die die verfügbaren Eingabemethoden vertreten, ist: {"cyrillic upperCase", "cyrillic lowerCase", "cyrillic", "latin", "user upperCase", "user lowerCase"}, dann wählen die folgenden inputmode-Werte die folgenden Eingabemethoden: "cyrillic title" wählt "cyrillic" aus, "cyrillic lowerCase" wählt "cyrillic lowerCase" aus, "lowerCase cyrillic" wählt "cyrillic lowerCase" aus, "latin upperCase" wählt "latin" aus, aber "upperCase latin" wählt "cyrillic upperCase" oder "user upperCase", wenn sie die gleiche Eingabemethde vertreten und wählt keine Eingabemethode aus, wenn "cyrillic upperCase" und "user upperCase" nicht die gleiche Eingabemethode vertreten.

5.3 Token-Liste

In dieser Spezifikation definierte Token werden in zwei Kategorien eingeteilt: Schriftsatz-Token und Modifizierer. In inputmode-Attributen sollten Schriftsatz-Token immer vor den Modifizierern aufgeführt werden.

5.3.1 Schriftsatz-Token

Schriftsatz-Token geben einen allgemeinen Hinweis auf den Zeichensatz, der von einer Eingabemethode abgedeckt wird. In den meisten Fällen vertreten Schriftsatz-Token direkt einen [Unicode-Zeichensatz]. Einige Token vertreten die Blocknamen in der Java-Klasse java.lang.Character.UnicodeBlock ([Java Unicode Blocks]) oder Unicode-Blocknamen. Dies bedeutet jedoch weder, dass eine Eingabemethode die Eingabe aller Zeichen des Zeichensatzes oder Blocks erlauben muss, noch dass eine Eingabemethode nur auf die Zeichen dieses bestimmten Zeichensatzes begrenzt ist. Zum Beispiel sind nicht alle Zeichen des Latin-Zeichensatzes auf einer "latin"-Tastatur enthalten, aber sie enthält Interpunktion, die nicht dem Latin-Zeichensatz zugeordnet ist. Die Schriftsatz-Namen sind dem Unicode-Standard, Version 3.2, entnommen.

Eingabemethode-Token Kommentare
arabic Unicode-Schriftsatz
armenian Unicode-Schriftsatz
bengali Unicode-Schriftsatz
bopomofo Unicode-Schriftsatz
braille zur Erzeugung von Braille-Mustern (nicht um ein Braille-Eingabegerät anzugeben)
buhid Unicode-Schriftsatz
canadianAboriginal Unicode-Schriftsatz
cherokee Unicode-Schriftsatz
cyrillic Unicode-Schriftsatz
deseret Unicode-Schriftsatz
devanagari Unicode-Schriftsatz
ethiopic Unicode-Schriftsatz
georgian Unicode-Schriftsatz
greek Unicode-Schriftsatz
gothic Unicode-Schriftsatz
gujarati Unicode-Schriftsatz
gurmukhi Unicode-Schriftsatz
han Unicode-Schriftsatz
hangul Unicode-Schriftsatz
hanja Untermenge von 'han', verwendet in koreanischer Schrift
hanunoo Unicode-Schriftsatz
hebrew Unicode-Schriftsatz
hiragana Unicode-Schriftsatz (kann andere japanische Schriftsätze einschließen, erzeugt bei der Konvertierung aus hiragana)
ipa Internationales Phonetisches Alphabet
kanji Untermenge von 'han', verwendet in japanischer Schrift
kannada Unicode-Schriftsatz
katakana Unicode-Schriftsatz (vollbreit, nicht halbbreit)
khmer Unicode-Schriftsatz
lao Unicode-Schriftsatz
latin Unicode-Schriftsatz
malayalam Unicode-Schriftsatz
math mathematische Symbole und zugehörige Zeichen
mongolian Unicode-Schriftsatz
myanmar Unicode-Schriftsatz
ogham Unicode-Schriftsatz
oldItalic Unicode-Schriftsatz
oriya Unicode-Schriftsatz
runic Unicode-Schriftsatz
simplifiedHanzi Untermenge von 'han', verwendet in der Schrift des Vereinfachten Chinesisch
sinhala Unicode-Schriftsatz
syriac Unicode-Schriftsatz
tagalog Unicode-Schriftsatz
tagbanwa Unicode-Schriftsatz
tamil Unicode-Schriftsatz
telugu Unicode-Schriftsatz
thaana Unicode-Schriftsatz
thai Unicode-Schriftsatz
tibetan Unicode-Schriftsatz
traditionalHanzi Untermenge von 'han', verwendet in Traditionellem Chinesisch
user Besonderer Wert, der die 'benutzereigene' Eingabe anzeigt (zum Beispiel, um ihren Namen oder Text in ihrer Muttersprache einzugeben).
yi Unicode-Schriftsatz

5.3.2 Modifizierer-Token

Modifizierer-Token können den für sie geltenden Schriftsätzen hinzugefügt werden. Sie dienen zur genaueren Bestimmung der Art der Zeichen, die in einem Formularsteuerelement erwartet werden. Traditionelle PC-Tastaturen benötigen die meisten Modifizierer-Token nicht (in der Tat wären Benutzer dieser Geräte sehr erstaunt, wenn das Programm entscheiden würde, die Groß- und Kleinschreibung selbst zu ändern; CAPS lock für upperCase könnte eine Ausnahme sein). Jedoch können Modifizierer-Token sehr hilfreich sein, um Eingabemethoden für Kleingeräte zu bestimmen.

Eingabemethode-Token Kommentare
lowerCase lowercase (für Schriftsätze mit Groß- und Kleinschreibung)
upperCase uppercase (für Schriftsätze mit Groß- und Kleinschreibung)
titleCase title case (für Schriftsätze mit Groß- und Kleinschreibung): Worte beginnen mit einem Großbuchstaben
startUpper Beginne Eingabe mit einem Großbuchstaben, dann fahre mit Kleinbuchstaben fort
digits Ziffern eines bestimmten Schriftsatzes (zum Beispiel inputmode='thai digits')
symbols Symbole, Interpunktion (geeignet für einen bestimmten Schriftsatz)
predictOn Textvoraussage eingeschaltet (zum Beispiel für laufenden Text)
predictOff Textvoraussage ausgeschaltet (zum Beispiel für Passwörter)
halfWidth kompatible Formulare für halbbreite Zeichen (zum Beispiel Katakana; veraltet/deprecated)

5.4 Beziehung zu XML Schemas pattern-Fassetten

Benutzerschnittstellen können Informationen verwenden, die in einer XML Schema pattern-Fassette verfügbar sind, um die Eingabemethode zu bestimmen. Beachten Sie, dass eine pattern-Fassette eine starke Beschränkung des lexikalischen Wertes einer Datenknoten-Instanz ist und verschiedene Beschränkungen für unterschiedliche Teile des Datenelements angeben kann. Das Attribut inputmode ist ein zarter Hinweis auf die Art der Zeichen, die der Benutzer höchstwahrscheinlich beginnt, in das Formularsteuerelement einzugeben. Das Attribut inputmode wird aus folgenden Gründen zusätzlich zu pattern-Fassetten angeboten:

  1. Die Anzahl der erlaubten Zeichen in einem Muster könnte so hoch sein, dass es nicht möglich ist, eine vernünftigen Einstellung der Eingabemethode abzuleiten. Dennoch gibt es häufig eine Zeichenart, die vom Benutzer mit hoher Wahrscheinlichkeit eingegeben werden wird. In solchen Fällen gestattet inputmode, die Eingabemethode zum Vorteil des Benutzers einzustellen.

  2. In einigen Fällen wäre es möglich, die Einstellung der Eingabemethode über das Muster abzuleiten, weil der erlaubte Zeichensatz im Muster nahe dem Zeichensatz liegt, der von einem inputmode-Attributwert vertreten wird. Jedoch würde eine solche Ableitung eine Menge Daten und Berechnungen auf Seiten der Benutzerschnittstelle erfordern.

  3. Kleingeräte könnten die Überprüfung der Muster dem Server überlassen, werden aber einfach auf jene Eingabemethoden umschalten können, die sie unterstützen. Die Dateneingabe für den Benutzer einfacher machen zu können, ist auf Kleingeräten besonders wichtig.

5.5 Beispiele

Dies ist ein Beispiel eines Formulars für die japanische Adresseneingabe. Es wird in Tabellenform dargestellt; es wird in einer späteren Version dieser Spezifikation durch tatsächliche Syntax ersetzt werden.

Überschrift: inputmode
Familienname hiragana
(in kana) katakana
Vorname hiragana
(in kana) katakana
PLZ latin digits
Addresse hiragana
(in kana) katakana
E-Mail latin lowerCase
Telefon latin digits
Kommentare user predictOn

6. Anerkennungen

Version 1.0 dieser Spezifikation wurde von der W3C HTML Arbeitsgruppe erstellt. Zur Zeit der Veröffentlichung der ersten Edition waren Mitglied:

Version 1.1 dieser Spezifikation wurde von der W3C XHTML2-Arbeitsgruppe erstellt. Zur Zeit der Veröffentlichung waren Mitglied:

Dank an Gary Adams (Sun Microsystems), Jonny Axelsson (Metastasis design), Peter Chen (Philips), Dan Connolly (W3C), John Cowan (Reuters), Martin J. Dürst (W3C), Johan Hjelm (Ericsson), Ian Jacobs (W3C), Susan Lesch (W3C), Louis Theran (Nokia), Quinton Zondervan (Lotus), Mitglieder der W3C Mobile Access Interest Group, der W3C Synchronized Multimedia-Arbeitsgruppe, der W3C WAI Protocols and Formats-Arbeitsgruppe und der Open Mobile Alliance für die Mithilfe, das Überarbeiten und Kommentieren dieses Dokuments.

A. Quellen

A.1. Normative Quellen

[HTML4]
"HTML 4.01 Spezifikation", W3C Empfehlung, D. Raggett, A. Le Hors, I. Jacobs, Editoren, 24. Dezember 1999. Verfügbar unter: http://www.w3.org/TR/1999/REC-html401-19991224
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/html4
[RFC2854]
"The 'text/html' Media Type", D. Connely, L. Masinter, Januar 2000.
Verfügbar unter: http://www.ietf.org/rfc/rfc2854.txt
[RFC3236]
"The 'application/xhtml+xml' Media Type", M. Baker, P. Stark, Januar 2002.
Verfügbar unter: http://www.ietf.org/rfc/rfc3236.txt
[XHTML1]
"XHTML 1.0: The Extensible HyperText Markup Language (Second Edition) - A Reformulation of HTML 4 in XML 1.0", W3C-Empfehlung, Steven Pemberton et al., 26. Januar 2000, überarbeitet 1. August 2002. Verfügbar unter: http://www.w3.org/TR/2002/REC-xhtml1-20020801
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/xhtml1
[XHTMLMOD]
"XHTML Modularization 1.0", W3C-Empfehlung, Shane McCarron, et. al. Editoren, 10. April 2001. Verfügbar unter: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/xhtml-modularization
[XML]
"Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C-Empfehlung, T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, F. Yergeau, Editoren, 16. August 2006. Verfügbar unter: http://www.w3.org/TR/2006/REC-xml-20060816
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/REC-xml

A.2. Informative Quellen

[CHTML]
"Compact HTML for Small Information Appliances", W3C Note, T. Kamada, 9. Februar 1998. Verfügbar unter: http://www.w3.org/TR/1998/NOTE-compactHTML-19980209
[GUIDELINES]
"HTML 4.0 Guidelines for Mobile Access, W3C Note, T. Kamada, T. Asada, M. Ishikawa, S. Matsui, Editoren, 15. März 1999. Verfügbar unter: http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/NOTE-html40-mobile
Java Unicode Blocks
Java 2 Platform, Standard Edition, v 1.4.0 API Specification; Class Character.UnicodeBlock, Sun Microsystems, Inc, 2002. Verfügbar unter http://java.sun.com/j2se/1.4/docs/api/java/lang/Character.UnicodeBlock.html.
Mobile Web Best Practices
Mobile Web Best Practices 1.0, W3C-Empfehlung, Jo Rabin, Charles McCathieNevile Editoren, 29. Juli 2009. Verfügbar unter: http://www.w3.org/TR/2008/REC-mobile-bp-20080729
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/mobile-bp
UAAG 1.0
User Agent Accessibility Guidelines 1.0, Ian Jacobs, Jon Gunderson, Eric Hansen, 2002. Working Draft verfügbar unter http://www.w3.org/TR/UAAG10/.
Unicode Scripts
Script Names, Mark Davis, 2001. Unicode Technical Report #24 verfügbar unter http://www.unicode.org/unicode/reports/tr24/.
[WCAG10]
"Web Content Accessibility Guidelines 1.0", W3C-Empfehlung, W. Chisholm, G. Vanderheiden, I. Jacobs, Editoren, 5. Mai 1999. Verfügbar unter: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505
Die aktuelle Version ist verfügbar unter: http://www.w3.org/TR/WCAG10.
[WML]
"Wireless Markup Language Specification", WAP Forum Ltd. Das WAP-Forum hat sich mit der Open Mobile Alliance (OMA) zusammengeschlossen. Die Arbeit an der Spezifikation von WAP wird in OMA weitergeführt und kann auf der OMA-Webseite unter http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html gefunden werden.
[XFORMS]
"XForms 1.0 (Third Edition)", John M Boyer, 29. Oktober 2007.
Aktuelle Version verfügbar unter: http://www.w3.org/TR/xforms.
[XHTMLMIME]
" XHTML Media Types", Masayasu Ishikawa, 1. August 2002.
Aktuelle Version verfügbar unter: http://www.w3.org/TR/xhtml-media-types.

B. XHTML Basic-Dokumenttypdefinition

Dieser Anhang ist normativ.

Die DTD-Implementierung von XHTML Basic 1.1 ist in diesem Anhang enthalten. Es gibt direkte Verweise zu den verschiedenen Dateien, und es gibt diese Dokumente ebenfalls in den gezippten Tar-Archivdateien und Zip-Archivdateien, auf die am Anfang dieses Dokuments verwiesen wird. Bitte beachten Sie, dass sich die Dateien hinter den Verweisen "diese Version" mit der Zeit langsam ändern können, sofern W3C neue Spezifikationen veröffentlicht.

B.1. SGML Open Catalog Entry für XHTML Basic

Dieser Abschnitt enthält die SGML Open Catalog-format-Definition für die öffentlichen Identifizierer von XHTML Basic.

Diese Version dieser Datei kann von http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/xhtml-basic11.cat heruntergeladen werden. Die aktuelle Version ist verfügbar unter http://www.w3.org/MarkUp/DTD/xhtml-basic11.cat.

-- .......................................................................... --
-- File catalog  ............................................................ --

--  XHTML Basic Catalog Data File

    Revision:  $Id: index.html,v 1.1 2008/07/26 17:02:25 jules Exp $ SMI

    See "Entity Management", SGML Open Technical Resolution 9401 for detailed
    information on supplying and using catalog data. This document is available
    from OASIS at URL:

        <http://www.oasis-open.org/html/tr9401.html>
--

-- .......................................................................... --
-- SGML declaration associated with XML  .................................... --

OVERRIDE YES

SGMLDECL "xml1.dcl"

-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --

-- XHTML Basic DTD modular driver file  ..................................... --

PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"                       "xhtml-basic11.dtd"

-- XHTML Basic framework module ............................................. --

PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"  "xhtml-basic11-model-1.mod"

-- XHTML Inputmode module       ............................................. --

PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"  "xhtml-inputmode-1.mod"

-- End of catalog data  ..................................................... --
-- .......................................................................... --

B.2. Treiber für XHTML Basic

Dieser Abschnitt enthält den Treiber für die XHTML Basic-Dokumenttypimplementierung als eine XML DTD. Sie stützt sich auf die Implementierung von XHTML-Modulen wie definiert in [XHTMLMOD].

Diese Version dieser Datei kann von http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/xhtml-basic11.dtd heruntergeladen werden. Die aktuelle Version ist verfügbar unter http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd.

<!-- XHTML Basic 1.1 DTD  ...................................................... -->
<!-- file: xhtml-basic11.dtd -->

<!-- XHTML Basic 1.1 DTD

     This is XHTML Basic, a proper subset of XHTML.

     The Extensible HyperText Markup Language (XHTML)
     Copyright 1998-2007 World Wide Web Consortium
        (Massachusetts Institute of Technology, European Research Consortium
         for Informatics and Mathematics, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the XHTML Basic DTD
     and its accompanying documentation for any purpose and without fee is
     hereby granted in perpetuity, provided that the above copyright notice
     and this paragraph appear in all copies.  The copyright holders make
     no representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Editors:    Murray M. Altheim <mailto:altheim@eng.sun.com>
                    Peter Stark       <mailto:Peter.Stark@ecs.ericsson.se>
                    Shane McCarron    <mailto:shane@aptest.com>
        Revision:   $Id: index.html,v 1.1 2008/07/26 17:02:25 jules Exp $

-->
<!-- This is the driver file for version 1.1 of the XHTML Basic DTD.

     This DTD is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC: "-//W3C//DTD XHTML Basic 1.1//EN"
     SYSTEM: "http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd"
-->
<!ENTITY % XHTML.version  "-//W3C//DTD XHTML Basic 1.1//EN" >

<!-- Use this URI to identify the default namespace:

         "http://www.w3.org/1999/xhtml"

     See the Qualified Names module for information
     on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix  "" >

<!-- Reserved for use with the XLink namespace:
-->
<!ENTITY % XLINK.xmlns "" >
<!ENTITY % XLINK.xmlns.attrib "" >

<!-- For example, if you are using XHTML Basic 1.1 directly, use
     the public identifier in the DOCTYPE declaration, with the namespace
     declaration on the document element to identify the default namespace:

         <?xml version="1.0"?>
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
             "http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd" >
         <html xmlns="http://www.w3.org/1999/xhtml"
               xml:lang="en" >
         ...
         </html>
-->

<!-- reserved for future use with document profiles -->
<!ENTITY % XHTML.profile  "" >

<!-- Bidirectional Text features
     This feature-test entity is used to declare elements
     and attributes used for bidirectional text support.
-->
<!ENTITY % XHTML.bidi  "IGNORE" >

<?doc type="doctype" role="title" { XHTML Basic 1.1 } ?>

<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!ENTITY % xhtml-events.module   "INCLUDE" >
<!ENTITY % xhtml-bdo.module      "%XHTML.bidi;" >

<!-- Inline Style Module  ........................................ -->
<!ENTITY % xhtml-inlstyle.module "INCLUDE" >
<![%xhtml-inlstyle.module;[
<!ENTITY % xhtml-inlstyle.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod" >
%xhtml-inlstyle.mod;]]>


<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod" >

<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod" >
%xhtml-framework.mod;

<!ENTITY % pre.content
     "( #PCDATA
      | %InlStruct.class;
      %InlPhras.class;
      %Anchor.class;
      %Inline.extra; )*"
>

<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod" >
%xhtml-text.mod;

<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod" >
%xhtml-hypertext.mod;

<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod" >
%xhtml-list.mod;

<!-- Add in the value attribute to the li element -->
<!ATTLIST %li.qname;
      value        %Number.datatype;         #IMPLIED
>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Scripting Module  ........................................... -->
<!ENTITY % xhtml-script.module "INCLUDE" >
<![%xhtml-script.module;[
<!ENTITY % xhtml-script.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod" >
%xhtml-script.mod;]]>

<!-- Style Sheets Module  ......................................... -->
<!ENTITY % xhtml-style.module "INCLUDE" >
<![%xhtml-style.module;[
<!ENTITY % xhtml-style.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod" >
%xhtml-style.mod;]]>

<!-- Image Module  ............................................... -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod" >
%xhtml-image.mod;]]>

<!-- Tables Module ............................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-basic-table-1.mod" >
%xhtml-table.mod;]]>

<!-- Forms Module  ............................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod" >
%xhtml-form.mod;]]>

<!-- Presentation Module  ........................................ -->
<!ENTITY % xhtml-pres.module "INCLUDE" >
<![%xhtml-pres.module;[
<!ENTITY % xhtml-pres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod" >
%xhtml-pres.mod;]]>

<!-- Link Element Module  ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-link-1.mod" >
%xhtml-link.mod;]]>

<!-- Document Metainformation Module  ............................ -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod" >
%xhtml-meta.mod;]]>

<!-- Base Element Module  ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod" >
%xhtml-base.mod;]]>

<!-- Param Element Module  ....................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod" >
%xhtml-param.mod;]]>

<!-- Embedded Object Module  ..................................... -->
<!ENTITY % xhtml-object.module "INCLUDE" >
<![%xhtml-object.module;[
<!ENTITY % xhtml-object.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod" >
%xhtml-object.mod;]]>

<!-- Inputmode Attribute Module  .................................. -->
<!ENTITY % xhtml-inputmode.module "INCLUDE" >
<![%xhtml-inputmode.module;[
<!ENTITY % xhtml-inputmode.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod" >
%xhtml-inputmode.mod;]]>

<!-- Target Attribute Module  .................................... -->
<!ENTITY % xhtml-target.module "INCLUDE" >
<![%xhtml-target.module;[
<!ENTITY % xhtml-target.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-target-1.mod" >
%xhtml-target.mod;]]>


<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod" >
%xhtml-struct.mod;

<!-- end of XHTML Basic 1.1 DTD  ........................................... -->

B.3. XHTML Basic-Anpasssungen

Ein Dokumenttyp der XHTML-Familie (wie XHTML Basic) muss das verwendete Inhaltsmodell definieren. Dies wird durch ein getrenntes Inhaltsmodell-Modul erreicht, das durch das XHTML Modular Framework instantisiert wird. Das Inhaltsmodell-Modul und der XHTML Basic-Treiber (oben) arbeiten zusammen, um die Modul-Implementierungen den besonderen Anforderungen des Dokumenttyps anzupassen. Das Inhaltsmodell-Modul für XHTML Basic ist folgend definiert:

Diese Version dieser Datei kann von http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/xhtml-basic11-model-1.mod heruntergeladen werden. Die aktuelle Version ist verfügbar unter http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod.

<!-- ....................................................................... -->
<!-- XHTML Basic 1.1 Document Model Module  .................................... -->
<!-- file: xhtml-basic11-model-1.mod

     This is XHTML Basic, a proper subset of XHTML.
     Copyright 1998-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved.
     Revision: $Id: index.html,v 1.1 2008/07/26 17:02:25 jules Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"
       SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- XHTML Basic Document Model

     This module describes the groupings of elements that make up
     common content models for XHTML elements.
-->

<!-- Optional Elements in head  .............. -->

<!ENTITY % HeadOpts.mix
     "( %script.qname; | %style.qname; | %meta.qname; 
      | %link.qname; | %object.qname; )*" >

<!-- script and noscript are used to contain scripts
     and alternative content
-->
<!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >

<!-- Miscellaneous Elements  ................. -->

<!ENTITY % Misc.extra "" >

<!-- These elements are neither block nor inline, and can
     essentially be used anywhere in the document body.
-->
<!ENTITY % Misc.class
     "%Script.class;
      %Misc.extra;"
>

<!-- Inline Elements  ........................ -->

<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >

<!ENTITY % InlPhras.class
     "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
      | %abbr.qname; | %acronym.qname; | %q.qname;" >

<!ENTITY % InlPres.class
     "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
      | %small.qname; | %sub.qname; | %sup.qname;" >

<!ENTITY % I18n.class "" >

<!ENTITY % Anchor.class "| %a.qname;" >

<!ENTITY % InlSpecial.class "| %img.qname; | %object.qname;" >

<!ENTITY % InlForm.class
     "| %input.qname; | %select.qname; | %textarea.qname;
      | %label.qname; | %button.qname;" >

<!ENTITY % Inline.extra "" >

<!ENTITY % Inline.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %Anchor.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.mix
     "%InlNoAnchor.class;
      %Misc.class;"
>

<!ENTITY % Inline.mix
     "%Inline.class;
      %Misc.class;"
>

<!-- Block Elements  ......................... -->

<!ENTITY % Heading.class
     "%h1.qname; | %h2.qname; | %h3.qname;
      | %h4.qname; | %h5.qname; | %h6.qname;"
>
<!ENTITY % List.class  "%ul.qname; | %ol.qname; | %dl.qname;" >

<!ENTITY % Table.class "| %table.qname;" >

<!ENTITY % Form.class  "| %form.qname;" >

<!ENTITY % Fieldset.class  "| %fieldset.qname;" >

<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >

<!ENTITY % BlkPhras.class
     "| %pre.qname; | %blockquote.qname; | %address.qname;"
>

<!ENTITY % BlkPres.class "| %hr.qname;" >

<!ENTITY % BlkSpecial.class
     "%Table.class;
      %Form.class;
      %Fieldset.class;"
>

<!ENTITY % Block.extra "" >

<!ENTITY % Block.class
     "%BlkStruct.class;
      %BlkPhras.class;
      %BlkPres.class;
      %BlkSpecial.class;
      %Block.extra;"
>

<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"
>

<!-- All Content Elements  ................... -->

<!-- declares all content except tables
-->
<!ENTITY % FlowNoTable.mix
     "%Heading.class;
      | %List.class;
      | %BlkStruct.class;
      %BlkPhras.class;
      %Form.class;
      %Block.extra;
      | %Inline.class;
      %Misc.class;"
>

<!ENTITY % Flow.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      | %Inline.class;
      %Misc.class;"
>

<!-- end of xhtml-basic11-model-1.mod -->

Schlussendlich definieren wir das neue Attributmodul inputmode.

Diese Version dieser Datei kann von http://www.w3.org/TR/2008/REC-xhtml-basic-20080729/xhtml-inputmode-1.mod heruntergeladen werden. Die aktuelle Version ist verfügbar unter http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod.

<!-- ...................................................................... -->
<!-- XHTML Inputmode Module  .............................................. -->
<!-- file: xhtml-inputmode-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved.
     Revision: $Id: index.html,v 1.1 2008/07/26 17:02:25 jules Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"
       SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inputmode 

        inputmode

     This module declares the 'inputmode' attribute used for suggesting the
     input mode associated with an input or textarea element.
-->

<!-- render in this frame --> 
<!ENTITY % Inputmode.datatype "CDATA" >

<!-- add 'inputmode' attribute to 'input' element -->
<!ATTLIST %input.qname;
      inputmode       %Inputmode.datatype;   #IMPLIED
>

<!-- add 'inputmode' attribute to 'textarea' element -->
<!ATTLIST %textarea.qname;
      inputmode       %Inputmode.datatype;   #IMPLIED
>

<!-- end of xhtml-inputmode-1.mod -->