WML-Einführung von Hubert Partl

Interaktion mit dem Benutzer


Aktionen am Server (CGI)

WML-Files werden genauso wie HTML-Files auf Web-Servern gespeichert oder von Web-Servern dynamisch generiert. Damit können auch mit WAP und WML alle die reichthaltigen Möglichkeiten genutzt werden, die moderne Web-Server bieten: CGI, Servlets, SSI, ASP, JSP, dynamische Interfaces zu Datenbanken und Workflow-Systemen, automatische Umwandlung von anderen Formaten in das WML-Format, Authentifizierung und Zugriffskontrolle mit Username und Paßwort, verschlüsselte Übertragung mit SSL etc.

Zu diesem Zweck muss nur der entsprechende URL im <go /> Tag innerhalb von <anchor> angegeben werden. Im Fall von CGI-Programmen und Servlets kann man mit weiteren Attributen die Methode (GET oder POST) sowie die Namen und Werte von Parametern angeben. Für die Details wird auf die Referenzen verwiesen, hier nur zwei kurze Beispiel-Skizzen:

CGI mit GET-Methode:

<go href="/cgi-bin/cginame?name1=Wert+1&amp;name2=Wert+2"
    method="GET" />
CGI mit POST-Methode:
<go href="/cgi-bin/cginame"
    method="POST" >
   <setvar name="name1" value="Wert 1" />
   <setvar name="name2" value="Wert 2" />
</go>

Da Handys und ähnliche Geräte meist nur geringe Rechenleistung haben, sind solche Aktionen am Server in vielen Fällen günstiger als Aktionen am Client.


Aktionen am Client

Die wichtigsten Möglichkeiten sind die Eingabe von Daten durch den Benutzer und die Verwendung von Funktionstasten (siehe die folgenden Abschnitte).

In WML wird auch eine einfache Script-Sprache "WMLScript" unterstützt, die ähnlich wie JavaScript, aber weniger umfangreich ist. Für die Details wird auf die Referenzen verwiesen.

Java-Applets und JavaScript werden nicht unterstützt.

Manche Telefone erlauben mit WTA einen Zugriff von WML aus auf spezielle Telefondienste.

Da Handys und ähnliche Geräte meist nur geringe Rechenleistung haben und nur eingeschränkte Eingabemöglichkeiten bieten, sind allerdings Aktionen am Server in vielen Fällen günstiger als solche Aktionen am Client.


Benutzer-Eingaben <input /> <select> <option>

Ähnlich wie bei HTML-Formularen, sind auch in WML Möglichkeiten für die Eingabe von Daten durch den Benutzer vorgesehen, die dann als Parameter an ein CGI-Programm oder Servlet am Server oder an eine WMLScript-Funktion am Client übergeben werden.

Für die Details wird auf die Referenzen verwiesen. Hier nur ein kurzes Beispiel. Darin wird für das Absenden der Daten an das CGI-Programm die Accept-Taste des Handy verwendet (siehe das Kapitel über Funktionstasten):

<card>
<p>
<b>Anmeldung</b>
<br />
Name:
   <input name="n" />
<br />
Ich komme:
   <select name="k">
      <option value="1">ja</option>
      <option value="0">nein</option>
   </select>
</p>
<do type="accept">
   <go href="/cgi-bin/anmeld?Name=$(n)&amp;Komme=$(k)"
       method="get" />
</do>
</card>
Da die Eingabe von Daten auf Handys und ähnlichen in der Hand gehaltenen Geräten meistens ziemlich unbequem ist, wird es allerdings oft günstiger sein, den Benutzer aus einer Liste von Hyperlinks auswählen zu lassen oder eine Steuerung mit den Funktionstasten des Handys vorzusehen.


Funktionstasten <do> <onevent>

Die Verwendung der Funktionstasten des Handys ist meistens einfacher als die Eingabe von Daten. WML unterstützt deshalb die direkte Reaktion auf das Drücken von Funktionstasten bzw. allgemein auf "Ereignisse" ("Events") am Client-Rechner.

Dafür dienen die Tags <do> und <onevent>. In diesen Tags wird mit dem Paramter type= angegeben, auf welchen Event reagiert werden soll, und zwischen dem Start- und End-Tag wird angegeben, welche Aktion beim Eintreten dieses Ereignisses durchgeführt werden soll.

Die von den meisten Handys unterstützten Events sind die folgenden drei:

Die wichtigste Aktion ist <go /> (siehe das Kapitel über Hyperlinks), weitere mögliche Aktionen sind <prev /> und <refresh /> sowie die Nicht-Aktion <noop />.

Für die Details wird auf die Referenzen verwiesen. Hier nur ein kurze Beispielskizze für das Vor- und Zurückblättern in einer Folge von Karten:

<wml>
<card id="step1">
   ...
</card>
<card id="step2">
   <p>
   Schritt 2: ...
   </p>
   <onevent type="onenterbackward">
      <go href="#step1" />
   </onevent>
   <onevent type="onenterforward">
      <go href="#step3" />
   </onevent>
</card>
<card id="step3">
   ...
</card>
</wml>


Spezielle Telefondienste (WTA)

Manche Telefone erlauben von WAP und WML aus auch einen Zugriff auf spezielle Telefondienste, die vom Telefonnetz-Betreiber mit einem Wireless Telephony Application Server (WTA) zur Verfügung getellt werden, wie z.B. eine Möglichkeit, Telefonnummern, die in einem WML-File stehen, mit dem Handy anzuwählen, oder E-Mails oder kurze Meldungen (Short Message System SMS) an eine im WML-File stehende Adresse zu versenden, und ähnliches.

Solche Erweiterungen von WAP und WML gelten dann freilich nicht allgemein sondern nur für Benutzer dieser speziellen Telefondienste. Informationen darüber erhalten Sie beim jeweiligen Telefonnetz-Betreiber.


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