25.10.1999
Ich kann keine Garantie für die Richtigkeit der
Angaben machen und hafte für nichts.
Dieser Text liegt unter anderem Informationen
des WAP-Forums England zugrunde.
Er bietet nur einen kleinen Überblick und
keine vollständige Erklärung. Er ist frei
kopierbar, darf aber nicht verändert werden!
Im Zuge der Verbreitung von WAP (Wireless
Application Protocol) wird auf die Wireless
Markup Language (WML) eine grössere Bedeutung
zukommen. Viele Handys werden mit einem
WML-Browser ausgestattet sein.
WML ist eine Sprache, die Inhalte wie Text und
Bilder auf Geräten mit niedriger Leistungsfähigkeit
darstellen kann. Bei WAP-Handys wird man nicht
auf viel CPU-Power oder RAM rechnen können. Der
Bildschirm kann vielleicht nur 10X10 Buchstaben
darstellen. Wie bei HTML ist die Navigation
durch Verweise innerhalb von Seiten und URLs
möglich.
Jede WML-Seite, Deck genannt, kann in verschiedene
Cards aufgeteilt werden, zwischen denen durch Verweise
gewechselt werden kann.
Die Decks können mit einem normalen Editor erstellt
und ins Web hochgeladen werden. Es wird momentan kein
zusätzlicher Compiler benötigt. Die Dateien
sollten mit der Endung .wml abgespeichert werden.
Ein Deck wird vom WML-Tag umschlossen. Innerhalb
dieses Tags werden verschiedene Cards definiert.
Wie das funktioniert, kann man am besten am
folgenden Beispiel erkennen:
<wml>
<!--WML-Dokument startet hier-->
<card id="card1">
<!--Die erste Card startet hier-->
<!--id setzt den Cardnamen fest-->
<p>
<do type="accept">
<go href="#card2>
</do>
<!--Das Do-Element wird später erklärt-->
<!--Hier steht weiterer Text-->
</p>
</card>
<card id="card2">
<p>
<!--Hier steht weiterer Text-->
</p>
</card>
<!--Erklärung zu Tags und Attributen weiter unten-->
</wml>
Kommentare werden nicht im Browser dargestellt.
Sie werden folgendermassen erzeugt:
<!--Ich bin ein Beispiel-Kommentar-->
Elemente von WML bestehen aus einem Anfangstag,
einem Inhalt und einem End-Tag.
Beispiel:
<tag>
Hier beginnt der Tag und hier steht der Inhalt
</tag>
(Hier ist er zünde)
Tags ohne Inhalt können mit <tag/> umschrieben
werden.
Tags mit Attributen sehen dann so aus:
<tag beispielattribut="Hallo">
Inhalt
</tag>
" | Ausrufezeichen |
& | kaufmänisches und |
' | Apostroph |
< | weniger als |
> | grösser als |
| non-breaking space |
­ | soft hyphen (discretionary hyphen) |
Sogenannte CDATA Sections kann man dazu verwenden,
ganze Textpassagen ohne Rücksicht auf
WML-Elemente darzustellen:
<![CDATA[Dies ist eine Textpassage]]>
Tasks beschreiben die Vorgehensweise, die nach einem
Ereignis (Card betreten, Link aktiviert) durchgeführt
wird.
<task "go/prev/refresh/noop">
go ist ein task, der das Springen zu einer anderen
Stelle veruracht. Im Attribut href wird das
Ziel angegeben. Dieses kann die Position eines
anderen Decks oder der Name einer Card sein.
Beispiele:
<go href="http://www.astro.de">
</go>
<go href="#cardname"/>
Im Href-Attribut muss bei Angabe einer Ziel-Card
ein # vor dem Cardnamen stehen.
Das Prev-Element verursacht einen Sprung zur vorherigen
URL oder Stelle.
Beispiel:
<prev/>
Refresh verursacht ein Neuladen der URL. Beispiel:
<refresh/>
Noop verursacht, dass nichts passiert. Beispiel:
<noop/>
Event-Behandlung kann man mit dem Do-Element erreichen.
Ein do auf Deck-Ebene wird von einem do auf
Card-Ebene überschrieben, wenn sie den gleichen
Namen haben. Wenn ein Deck-Do
Element mit einem Card-Do überschrieben wird und
das Card-Do noop als Operation festsetzt, wird
dieses Element aus der Card entfernt und nicht
dargestellt.
Auf Deck-Ebene muss do innerhalb von
<template></template>stehen. Es gilt dann
automatisch für alle Cards.
Wo auf dem Screen des Browsers die Do-Elemente
dargestellt werden, ist dem jeweiligen Browser
überlassen.
Do hat unter anderem die Attribute label, type
und name. Label ist ein Text, der das Element
beschreibt. Type kann "accept", "prev" oder
"options" sein. Name ist optional und enthält den
Namen der Event-Behandlungsmethode.
Ein Beispiel:
<do type="options" name="testi"
label="C-Here!">
<go href="hallo.wml"/>
</do>
Verweise sind auf zwei Arten zu erstellen:
<anchor>
Click here!
<go href="destination.wml"/>
</anchor>
<a href="destination.wml">Click here!</a>
Destination.wml steht
für die Ziel-URL. Statt einer URL hätte dort
auch ein #cardname für eine andere Card stehen
können.
Variablen spielen eine relativ grosse Rolle in der
WML-Spezifikation. Dies bringt
grosse Flexibilität und erleichtert das Erstellen
von dynamischen Seiten. Darauf soll hier aber
nicht weiter eingegangen werden.
Die Meta-Tags für Suchmaschinen
können genauso wie in HTML im
Dateikopf bestimmt werden. Ein Beispiel:
<head>
<meta name="keywords" content="wap, wml,
xml">
<meta name="description" content="Informationen
über WML">
<meta name="author" content="Gerhart
Schröter">
</head>
Cards können einen beschreibenden Titel haben.
Dieser wird im title-Attribut festgelegt:
<card id="acard" title="no nonsense!">
<p>
This sentence makes sense!
</p>
</card>
WML bietet auch die Möglichkeit der Darstellung
von Auswahlboxen:
<select>
<option onpick="hallo.wml">Hallo</option>
<option onpick="info.wml">Get some
information!</option>
</select>
Mit select beginnt die Auswahlbox. Jeder Option-Tag
bestimmt eine Option in dieser Box. Das
Onpick-Attribut gibt die URL an, die nach dem
Aktivieren der Option angefordert wird. Innerhalb
des Option-Tags sollte eine Beschreibung
der URL angegeben werden.
Unter anderem sind Mehrfach-Angaben und Manipulation
von Variablen mit Select-Konstruktionen möglich.
Auf das Erstellen von Formularen soll hier aber
nicht weiter eingegangen werden.
Es gibt einige Möglichkeiten, Formatierungseffekte
zu erreichen. Diese sind weitgehend mit denen von
HTML identisch.
<em>Dieser Text ist hervorgehoben</em>
<strong>Dieser Text ist auch hervorgehoben>
<i>Dieser Text ist kursiv</i>
<b>Dieser Text ist fett</b>
<u>Dieser Text ist unterstrichen</u>
<big>Dieser Text ist gross</big>
<small>Dieser Text ist klein</small>
Mit dem P-Element können Absätze erzeugt werden.
<p mode="wrap" align="center>
Der Text
</p>
Das Mode-Attribut kann entweder den
Wert "wrap" oder "nowrap" erhalten. Es
bestimmt, ob
Wörter, die zu lang sind, über mehrere
Zeilen verteilt werden.
Die Ausrichtung eines Absatz, die mit dem
Align-Attribut erzwungen wird, kann entweder
"left", "right" oder "center" sein.
<br> erzwingt wie in HTML den Anfang einer neün Zeile.
Hier ist ein Beispiel für eine WML-Tabelle:
<table title="eine Tabelle"
columns="2">
<tr><td>eins</td><td>zwei</td></tr>
<tr><td>drei</td><td>vier</td></tr>
</table>
Das Attribut title bestimmt den Titel der Tabelle.
Die Anzahl der Spalten muss zwingend mit
dem Columns-Attribut angegeben werden.
<tr> eröffnet eine neü Zeile und <td> eine
neü Datenzelle.
WML ermöglicht auch das Darstellen von Bildern.
Für solche Bilder wurde das WBMP-Format
(Wireless Bitmap) entwickelt.
<img src="text.wbmp" alt="Alternativer
Text">
Attribute
src URL des Image
alt Alternativer Text (muss angegeben werden)
align Ausrichtung: top, middle oder bottom
Programme, die das Format WBMP erzeugen können,
waren mir zum Zeitpunkt des Verfassens nicht
bekannt. Eine technische Spezifikation kann man
unter http://www.wapforum.org erhalten.
WMLScript ist eine Scriptsprache, die auf JAVASCRIPT
basiert und die Interaktion zwischen User und
WML-Seite fördert.
Mögliche Anwendungen wären auch die Kontrolle
von Eingaben, das Ansprechen von Peripheriegeräten,
das Anzeigen von Dialogboxen oder kleine
Applikationen.
Ich hoffe, dass ich einen kleinen Überblick
über die Möglichkeiten der Wireless Markup
Language bieten konnte.
Weitere Informationen über naheliegende Themen
kann man auf folgenden Websites erhalten:
http://www.w3c.org | W3-Konsotium |
http://www.wapforum.org | Wapforum Ltd. England |
http://www.wapforum.de | Wapforum Deutschland |