WML-Einführung von Hubert Partl

Die Grundlagen


WWW - Was ist das?

Erklärung der wichtigsten Grundbegriffe im "WWWörterbuch" (Glossar):


Was sind WAP und WML?

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.


Warum WML?

HTML hat zwar den Vorteil, daß 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, muß 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 muß man sie auf dem Web-Server in zwei Versionen verfügbar halten:

In den meisten Fällen wird man weder des HTML-File noch das WML-File händisch erstellen, sondern beide automatisch und dynamisch aus den in einer Datenbank oder einem Workflow-System gespeicherten Informationen generieren.

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.


Inhalt

Bevor man die WML-Seiten erstellt, muß man überlegen, welche Informationen man auf welche Art und Weise zur Verfügung stellen will. Insbesondere muß man die folgenden Fragen klären:

Weitere Hinweise zum Inhalt und Konzept von Web-Sites finden Sie in der HTML-Einführung.


Hardware-Unabhängigkeit

Die WML-Seiten müssen so geschrieben werden, daß 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.


Software-Unabhängigkeit

Die WML-Seiten müssen so geschrieben werden, daß 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.


Format der WML-Befehle (WML-Tags)

Die Sprache WML baut auf der Syntax von XML auf. Die Markup-Befehle ("Tags") werden vom normalen Text dadurch unterschieden, daß sie zwischen "spitzen Klammern", also zwischen Kleiner- und Größer-Zeichen eingeschlossen werden, in der Form
<xxx>

Manche dieser Befehle (Tags) haben auch Parameter (Attribute und Argumente), z.B. in einer Form wie
<xxx yyy=zzz>

Wenn die Argumente Sonderzeichen enthalten, müssen sie in Anführungszeichen (Quotes) eingeschlossen werden:
<xxx yyy="zzz">

Die Groß- und Klein-Schreibung ist nach der XML-Norm nicht egal sondern muß (im Gegensatz zu HTML) richtig eingehalten werden. Daher sollte 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> 


Aufbau eines WML-Files <wml> <card>

Ein einfaches WML-File hat folgenden Aufbau:
<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 muß 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.

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.xml">

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 />
          <a> ... </a>
          <img ... />
          <input> ... </input>
          <select> ... </select>
          ...
     </p>
Diese Elemente werden in den folgenden Kapiteln und in den Referenzen genauer beschrieben.


Vorgangsweise zur Veröffentlichung

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              .wbmp
Für die Übertragung an die Handys dürfen die einzelnen Files nicht größer als 2 kBytes sein.

Für die Veröffentlichung von Informationen über das WAP sind die folgenden Schritte notwendig (ähnlich wie bei HTML-Files):

  1. Konzept für den Inhalt und die Struktur der Informationen,
  2. Benutzungsbewilligung und Speicherplatz auf einem Web-Server,
  3. Erstellen der WML-Files - direkt mit einem Text-Editor oder Hilfsprogramm, indirekt mit einem Umwandlungsprogramm, oder dynamisch über ein Interface zu einem Datenbank- oder Workflow-System,
  4. lokales Testen der WML-Files. Dazu gibt es WML-Simulatoren, die wie ein Web-Browser auf PCs unter MS-Windwos laufen, sodaß man die WML-Files gleich am PC testen kann, ohne ein Handy zu benützen, ohne teure WAP- und Telefonkosten.
  5. Abspeichern der WML-Files am Web-Server,
  6. Testen der öffentlichen Files mit verschiedenen Handy-Geräten,
  7. laufende Aktualsierung der Informationen,
  8. Löschen der WML-Files, wenn der Inhalt nicht mehr aktuell ist oder nicht mehr benötigt wird.

    Weitere Hinweise zur Veröffentlichung von Informationen im WWW bzw. WWmB finden Sie in der HTML-Einführung.


    Vorwort . Inhaltsverzeichnis . Wörterbuch . Referenzen . Copyright
    © Hubert Partl, BOKU Wien