Tvorba stránek

Základní jednotkou WML je karta, která specifikuje interakci mezi WAP zařízením a uživatelem. Karty jsou slučovány do desek (souborů), což jsou nejmenší jednotky WML, které web server umí poslat WAP zaízení. V okamžiku, kdz WAP zařízení obdrží soubor, aktivuje automaticky první kartu, kterou tato deska obsahuje.

DTD(Document type definition)

Document Type Definition (DTD) soubor definuje, stejně jako u HTML či XHTML, všechny elementy použité ve WML. Používá se při WML kódování. Cesta k vlastnímu DTD souboru musí být definována v úvodu WML desky. DTD soubor může být umístěn buď někde na síti, nebo ho můžete mít uložen lokálně pro rychlejší přístup k němu. Všechna WAP zařízení nemusí být schopna rozeznat všechny elementy a atributz obsažené v DTD souboru, v takovém případě bude zařízení fungovat tak, jako by element nebyl přítomen.
Příklad DTD naleznete na http://www.wapforum.org/DTD/wml.xml
Oficiální odkaz se mi nechce správně zobrazit, proto je zde lokálně stažený DTD soubor

Sada znaků
WML používá sadu znaků používaných v dokumentech XML - v současnosti Universal Character set (Univerzální sada znaků) ISO/IEC - 10646 (Unicode 2.0) - a podporuje jakékoliv podsady znaků Unicode (např. US-ASCII, ISO-8859-1, nebo UTF-8, pro české entity ISO-8859-2). Není potřeba používat plnou sadu Unicode (UCS-4) kódování, pokud používáte sadu znaků jinou nez UTF-8.

Hlavička dokumentu

Nejdůležitější obsahovou částí je tzv. "hlavička", ve které je definována verze použitého WML standardu a verze xml. Dále pak umožňuje zadat použitou znakovou sadu, podobně jako je v následujícím příkladu.

 

<?xml version="1.0" encoding="iso-8859-2"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">

 

Hlavičku musí obsahovat povinně každá WML stránka.Začátek a konec stránky obsahuje element <wml></wml> Definuje začátek a konec stránky, stejně jako <html></html>
<card></card> Definuje začátek a konec karty. WML stránky jsou organizovány do desek (souborů) a karet. Deska je kolekce karet a karta je základní jednotka WML stránky. Stejně jako se web skládá z množství HTML stránek a HTML stránka je základní jednotkou. Každá karta obsahuje atribut id, který dentifikuje kartu v desce. Id musí být unikátní pro každou kartu v desce. Používá se jako odkaz na kartu. Použití je uvedeno následujícím příkladu. Atribut title dává uživateli základní informaci o stránce. Záleží na zařízení jakým způsobem ho zobrazí, např. Nokia 6150 zobrazuje titulek nahoře uprostřed.

<p></p> Text uvnitř tohoto tagu je považován za odstavec. Každá stránka musí obsahovat nejméně jeden odstavec.
<!-- Text následující po tomto tagu je komentář, nebude interpretován prohlížečem. Když už jsme si řekli základní stavební kameny koukněme se na stránku, která zobrazí oblíbený text "hello world".

<?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="prvni" title="Prvni stranka">
<p>
<!-- příklad vypíše Hello World -->
Hello World
</p>
</card>
</wml>

Příklad v emulátoru zde

Další příklad ukazuje jednoduchou interakci s uživatelem. Po kliknutí na Options se zobrazí následující obrazovka. Kliknutím na odkaz Next se dostaneme na třetí obrazovku. Nové tagy jsou vysvětleny zde:

<do></do> Tento tag dává uživateli obecný způsob pro vykonávání akcí. Musí být definován mezi tagy karet. Obvykle je umístěn před prvním tagem <p>. Uživatelem vyvolané akce mohou být následující:

Hodnota accept určuje typ akce. Zde obecné kladné potvrzení (jako kdyby uživatel kliknul na tlačítko OK). Další možnétypy akcí:
Hodnota prev znamená navigaci zpět. Budeme ji používat později.

Atribut label očekává popisek tlačítka. U Nokie 6150 máte tlačítko Options a tlačítko, které pojmenujete.

<go/> Provede akci, když uživatel spustí akci. Zde přejde na stránku, kterou jsme určili. Na rozdíl od ostatních tagů nemá uzavírací tag. Místo něj se píše lomítko na konci tagu.

Atribut href určuje cílovou WML stránku. To může být URL, které určuje jinou desku, nebo jako zde jiná karta v desce. Znak # a id jiné karty identifikují cílovou kartu.

V tomto příkladě po kliknutí na Next, zařízení přejde na "Card2".

<?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="karta1" title="1">
<do type="accept" label="Next">
<go href="#karta2"/>
</do>
<p>
Prejdi na kartu 2.
</p>
</card>
<card id="karta2" title="2">
<p>
Toto je karta2.
</p>
</card>
</wml>

Příklad v emulátoru zde