WML-Tutorial
[ Inhaltsverzeichnis ]WML
 Verweise / Links
Verweise / Links
interne / externe Links
Links mit Taskbindung


Verweise / Links

Die Navigation zwischen Cards innerhalb eines Decks oder zu einem anderen Deck wird in WML, wie auch in HTML, über Links realisiert. In WML stehen zwei Möglichkeiten zur Verfügung, wie Links programmiert werden können, die sich sowohl in ihrer Syntax als auch in dem gedachten Einsatzzweck unterscheiden. Es handelt sich hierbei um das a-Tag für interne / externe Links und das anchor-Tag für Links mit Taskbindung.


interne / externe Links

Interne und externe Links werden über das a-Tag <a> und </a> definiert.

Der Syntax des a-Tags lautet <a href="linkziel">Linktext</a>, wobei Linkziel die Adresse angibt, die angesprungen werden soll und Linktext den Text angibt, den der Benutzer auf seinem Display lesen soll.

Alternativ kann der Linktext auch durch eine Grafik ersetzt werden.

Das a-Tag hat außer dem Attribut href noch das Attribut title durch das dem Link ein Titel zugeordnet wird.


interne Links

Interne Links regeln die Navigation zwischen Cards innerhalb eines Decks. Jede Card ist über ihre id gekennzeichnet und kann durch diese mit einem vorangestellten # über das a-Tag angesprungen werden.

Beispiel :


<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>  
  <card id="eins">
    <p>    
      <a href="#zwei">gehe zur zweiten Card</a>
    </p>    
  </card>
  
 <card id="zwei">
    <p>    
      <a href="#eins">gehe zur ersten Card</a>
    </p>
  </card>
</wml>  

Erklärung :

Im obigen Beispiel werden zwei Cards definiert, die erste bekommt die id 'eins', die zweite Card erhält die id 'zwei' zugewiesen. Durch die Attributzuweisung href="#zwei" im a-Tags wird in der ersten Card ein Link auf die zweite Card definiert. Der Benutzer liest auf seinem Display den Text 'gehe zur zweiten Card'. Sobald der Link ausgewählt wird, würde die zweite Card angesprungen und angezeigt werden. Der Link in der zweiten Card würde wieder die erste Card anzeigen lassen.

externe Links

Externe Links regeln die Navigation zwischen Decks. Dabei kann die Angabe der Zieladresse ( des Decks ) relativ ( deck7.wml ) oder absolut ( http://wap.ffh.de ) erfolgen.

Beispiel :


<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>  
  <card id="relativ">
    <p>
      <a href="deck7.wml">gehe zu Deck Nummer 7</a>
    </p>
  </card>
  
  <card id="absolut">
    <p>  
      <a href="http://wap.ffh.de">Hitradio FFH WAP-Seite</a>
    </p>	
  </card>
</wml>  

Erklärung :

In der ersten Card mit der id 'relativ' wird ein Link auf ein anderes Deck definiert, das über die relative Zieladresse 'deck7.wml' erreichbar ist. Die zweite Card mit der id 'absolut' hat als Inhalt einen Link mit der Angabe einer absoluten Zieladresse, die in diesem Fall 'http://wap.ffh.de' ist.


Links mit Taskbindung

Die zweite Möglichkeit eines Links wird durch das anchor-Tag <anchor> und </anchor> realisiert. Diese Art von Links sind aber an vordefinierte Tasks (go, prev , refresh ) gebunden , die dann ausgeführt werden, wenn der Benutzer den Link auswählt. Innerhalb des anchor-Tags wird das Linkziel und der Task festgelegt. Dieser Linktyp wird u.a. auch verwendet, wenn man Formulardaten senden möchte. Das anchor-Tag besitzt das Attribut title durch das dem Link ein Titel zugeordnet wird.

Beispiel :


<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>  
  <card id="relativ">
    <p>
      <anchor>gehe zu Deck Nummer 7
        <go href="deck7.wml"/>
      </anchor>
    </p>
  </card>
</wml>  

Erklärung :

Im Beispiel wird eine Card definiert, die das anchor-Tag verwendet. Der vordefnierte Task, der hier genutzt wird ist der go-Task. Würde der Benutzer diesen Link auswählen, dann würde er zu dem angegebenen Deck 'deck7.wml' gelangen. Das Resultat ist identisch mit dem des Beispiels des externen Links, der durch das a-Tag realisiert wurde.