WML-Einführung
von Hubert Partl
Erklärung der wichtigsten Grundbegriffe im "WWWörterbuch" (Glossar):
Wenn Sie Ihre Web-Informationen nicht nur mit HTML sondern auch mit WAP und WML verfügbar machen, erreichen Sie nicht nur die klassischen Internet-Benutzer, die einen PC oder Fernsehapparat zum "Internet-Surfen" verwenden, sondern auch die wesentlich stärker wachsende Anzahl von Personen, die ein Mobil-Telefon ("Handy") oder ähnliches Geräet besitzen und darauf Informationen abfragen können.
WML (Wireless Markup Language) ist das Format, in dem Hypertext-Informationen für Geräte mit sehr kleinen Displays definiert werden können, also für Mobil-Telefone ("Handys", GSM), PDAs (Personal Digital Assistants, Organizer), Palmtop-Computer, Auto-Navigationsgeräte und dergleichen. WML erfüllt eine ähnliche Funktion wie HTML, das sich besser für Geräte mit größeren Displays eignet, also für Notebooks, Desktop-PCs, Workstations, Fernsehapparate und dergleichen und für die Druckausgabe auf Papier.
WML baut nicht direkt auf HTML auf sondern auf XML. WML ist ähnlich wie HTML, aber nicht mit HTML kompatibel.
WAP (Wireless Application Protocol) ist das besonders effiziente Protokoll, mit dem WML-Seiten vom Handy abgefragt und an das Handy übertragen werden. Im allgemeinen wird WAP zwischen dem Handy und einem WAP-Gateway verwendet, und die Übertragung zwischen dem Web-Server und dem WAP-Gateway erfolgt über das Internet mit dem Protkoll HTTP.
HTML hat zwar den Vorteil, dass sich die in den Web-Pages enthaltenen Informationen durch das Prinzip des logischen Markup automatisch an die Fenstergröße und Schriftgröße des Client-Rechners anpassen, egal ob es sich um einen Notebook oder PC oder eine Workstation mit großem oder kleinem, niedrig oder hoch auflösendem Bildschirm handelt
Allerdings funktioniert diese automatische Anpassung nur innerhalb eines Bereiches von wenigstens einigermaßen vergleichbaren Fenster- und Papiergrößen. Typische PC- und Fernseh-Bildschirme bieten Platz für etwa 200 Wörter in ca. 20 Zeilen, Papierblätter für etwa 600 Wörter in ca. 60 Zeilen.
Für Geräte mit sehr kleinen Displays, die nur etwa 10 bis 20 Wörter in 2 bis 5 Zeilen darstellen können, muss man die Informationen im allgemeinen extra aufbereiten, in einem stark gekürzten und wesentlich kompakteren Format. Da solche Geräte meistens auch nur über geringere Rechen-Ressourcen verfügen als PCs oder Workstations, müssen außerdem ein Format und ein Protokoll verwendet werden, die möglichst effizient verarbeitet werden können. Deshalb werden für diese Zwecke nicht HTML und HTTP sondern WML (das auf XML aufbaut) und WAP verwendet. XML und damit auch WML hat strengere Regeln als HTML und erlaubt dadurch eine effizientere Verarbeitung.
Wenn man eine Information für alle Endbenutzer mit allen möglichen Geräten zur Verfügung stellen will, dann muss man sie auf dem Web-Server in zwei Versionen verfügbar halten:
Es gibt spezielle WAP-Gateways, die versuchen, bestehende HTML-Informationen, so gut das geht, automatisch in WML umzuwandeln. Meistens genügt eine solche automatische Umwandlung aber nicht, weil die Informationen für die kleinen Displays anders (kürzer) formuliert und anders strukturiert werden müssen.
Bevor man die WML-Seiten erstellt, muss man überlegen, welche Informationen man auf welche Art und Weise zur Verfügung stellen will. Insbesondere muss man die folgenden Fragen klären:
Die WML-Seiten müssen so geschrieben werden, dass sie von der Client-Hardware, auf der sie dargestellt werden, unabhängig sind. WML verwendet dazu wie HTML das Prinzip des logischen Markup. Das bedeutet: Sie sollten Absätze, Zeilenwechsel und dergleichen immer nur so einsetzen, wie es der logischen Struktur der Informationen entspricht, unabhängig von der Display-Größe, Zeilenanzahl, Zeilenlänge, Schriftgröße und Schriftart am Handy. Dann wird die Darstellung auf jedem Client-Gerät automatisch optimal an die dort verfügbare Display-Größe und Schrift angepasst, und die Information kann von allen Endbenutzern sinnvoll gelesen werden.
Weitere Hinweise zur Festlegung von Inhalt und Form finden Sie in der HTML-Einführung.
Die WML-Seiten müssen so geschrieben werden, dass sie von der vom Leser verwendeten Software-Version unabhängig sind. Deshalb sollten Sie im WML-Files nur die Elemente verwenden, die in der WML-Norm festgelegt sind und die von allen Clients richtig dargestellt werden. WML-Erweiterungen und Abweichungen, die nur auf bestimmten Geräten oder nur in bestimmten Software-Versionen funktionieren, sollten Sie strikt vermeiden.
Weitere Hinweise zur Einhaltung der De-facto-Normen und zur Firmenunabhängigkeit finden Sie in der HTML-Einführung.
Die De-facto-Normen für WML und WAP finden Sie in den Referenzen. Derzeit wird von den meisten von den Benutzern verwendeten WAP-Handys die Version 1.1 von WML (1999 definiert) einigermaßen vollständig unterstützt.
<xxx>
Manche dieser Befehle (Tags) haben auch
Parameter (Attribute und Argumente),
z.B. in einer Form wie
<xxx yyy="zzz">
Die Argumente müssen immer in Anführungszeichen (Quotes) eingeschlossen werden, auch wenn sie keine Sonderzeichen enthalten.
Die Groß- und Klein-Schreibung ist nach der XML-Norm nicht egal sondern muss (im Gegensatz zu HTML) richtig eingehalten werden. Daher muss man WML-Tags und Attribute immer mit Kleinbuchstaben schreiben.
Die meisten WML-Befehle treten paarweise auf,
mit einem "Start-Tag" der Form <xxx>
und einem "End-Tag" der Form </xxx>.
Diese Befehlspaare geben jeweils
die Bedeutung des dazwischen liegenden Bereiches an.
So ist z.B. der zwischen <p> und </p>
stehende Text ein
Absatz.
Im Gegensatz zu HTML darf in WML und XML der End-Tag niemals weggelassen werden.
Manche WML-Befehle treten einzeln auf,
sie bezeichnen bestimmte Elemente, die zwischen dem Text stehen.
So bedeutet z.B.
<br /> einen
Zeilenwechsel
innerhalb eines Absatzes.
Solche Einzel-Tags, zu denen es keinen End-Tag gibt,
müssen im WML und XML (im Gegensatz zu HTML) in der Form
<xxx />
bzw.
<xxx yyy="zzz" />
geschrieben werden.
Die WML-Befehle müssen immer richtig geschachtelt werden. Beispiel:
<p> ... <em> ... richtig ... </em></p>
Nicht erlaubt wäre
<p> ... <em> ... falsch ... </p></em>
<wml>
<card>
<p>
... Text ...
</p>
</card>
</wml>
Anmerkung: Die Einrückung der geschachtelten Bereiche ist nicht unbedingt
notwendig, sie dient nur zur besseren Übersicht.
Jedes WML-File muss zwischen den Tags <wml> und </wml> eingeschlossen werden.
Ein WML-File kann eine oder mehrere "Karten" enthalten, die jeweils von den Tags <card> und </card> eingeschlossen werden. Diese Karten sind die Einheiten, die nach einander am Display angezeigt werden, jede Karte entspricht also einer (sehr kleinen) Bildschirm-Seite.
Im <card> Tag können Parameter angegeben werden, die wichtigsten sind title="..." für die Bezeichnung der Karte in der Titelzeile und in Suchhilfen, sowie id="..." für Sprungmarken.
Jede Karte kann ein oder mehrere Text-Absätze enthalten, die zwischen den Tags <p> und </p> eingeschlossen werden (siehe das Kapitel über Textelemente). Die Texte können auch Hyperlinks und Bilder enthalten. Außerdem können Karten - außerhalb von Text-Absätzen - auch weitere WML-Elemente enthalten, z.B. Navigationselemente (siehe das Kapitel über Interaktion).
Damit das WML-File auch von XML-Programmen verarbeitet werden kann, sollte man am Beginn des Files, vor dem Tag <wml>, die XML-Deklaration im folgenden Format einfügen:
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1_1.dtd">
Ein komplexes WML-File kann folgende Elemente enthalten:
<?xml ... ?>
<!DOCTYPE ... >
<wml>
<card>
<p> ... </p>
<p> ... </p>
...
<do> ... </do>
<onevent> ... </onevent>
...
</card>
<card>
...
</card>
...
</wml>
Ein Absatz <p> kann folgende Elemente enthalten:
<p>
... Text ...
<em> ... </em> <b> ... </b> <i> ... </i> etc.
<br />
<table> ... </table>
<a> ... </a>
<anchor> ... </anchor>
<img ... />
<input> ... </input>
<select> ... </select>
...
</p>
Diese Elemente werden in den folgenden Kapiteln und in den
Referenzen
genauer beschrieben.
WML-Files und WBMP-Bilder werden genauso wie HTML-Files und GIF- und JPG-Bilder auf Web-Servern gespeichert. Dazu müssen im Web-Server die richtigen MIME-Types konfiguriert sein:
text/vnd.wap.wml .wml application/vnd.wap.wmlc .wmlc text/vnd.wap.wmlscript .wmls application/vnd.wap.wmlscriptc .wmlsc image/vnd.wap.wbmp .wbmpFür die Übertragung an die Handys sollten die einzelnen Files nicht größer als 1300 Bytes (1,3 kBytes) sein.
Für die Veröffentlichung von Informationen über das WAP sind die folgenden Schritte notwendig (ähnlich wie bei HTML-Files):
Weitere Hinweise zur Veröffentlichung von Informationen im WWW bzw. WWmB finden Sie in der HTML-Einführung.