ein Service von
www.astrosolutions.deJede 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:
<?xml version="1.0"?>
<!DOCTYPE wml
PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<!--Das ist die
Doctype-Definition, die am Anfang jeder WML-Datei
steht-->
<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="GerhartSchrö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
someinformation!</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. Esbestimmt, 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 den Anfang einer neuen 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="AlternativerText"/>
Attribute
src URL des
Image
alt Alternativer Text (muss angegeben werden)
align Ausrichtung:
top, middle oder bottom
Ein Programm zum Konvertieren von BMP nach
WBMP gibt es unter anderem von NOKIA.
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 |