WML 1.1 guiden

Innehåll:
 Förord
 Kort om WAP
 Grunderna i WML
 Ett första dokument
 Länkning
 Bildhantering
 Skicka data
 Tre saker att tänka på
 Färdiga exempel
 Relaterade länkar

Förord
Den här guiden är en kort introduktion till WML-språket, version 1.1. Ingaförsök har på något vis gjorts för att skapa en heltäckande referens. Delarav innehållet har tidigare varit publicerad i nyhetsbrevet WWWap från OLZZON.com.

I dag, hösten 2000, finns det enligt undersökningar cirka 100 000 WAP-telefoneri Sverige. Hur många svenska WAP-sidor som det finns är det ingen som vet,uppskattningsvis rör det sig om knappa hundratalet.

Kort om WAP

WAP står för Wireless Application Protocol som fritt kan översättas till trådlöst applikations protokoll. WAP är en öppen standard för hur man kan kommunicera trådlöst med mobila enheter, exempelvis mobiltelefoner.

När man skriver tjänster anpassade för WAP, använder man sig av WML, Wireless Markup Language, som är ett markeringsspråk. WML är alltså wappens motsvarigheten till webbens HTML. Faktum är att syntaxen i WML, d.v.s. själva utseendet på koden, är väldigtlik den som HTML använder sig av.

I princip behöver man ingen WAP-telefon eller nytt program föratt koda WML-sidor, och därmed WAP-tjänster. En vanlig textredigerare såsom Anteckningar i Windows duger gott och välför nybörjaren.

Grunderna i WML
Vi som är vana HTML-kodare vet att man kan blanda koder lite huller om buller, webbläsaren hanterar det mesta. Felmeddelandenär till och med ovanliga om man inte arbetar mycket medJavaScript. När det gäller WML så är det precis tvärtom, en taggsom inte är avslutad korrekt eller felstavad kan leda till attsidan inte visas och ett felmeddelande genereras.

WML-dokumenten är uppbyggda med hjälp av cards, d.v.s. kort på svenska. Varje sida som man besöker är ett kort men ett dokument kan innehålla flera kort. I princip kan man alltså lägga hela webbplatsen i ett enda dokument, även om inte det är att rekommendera. Det kan vara bra att känna till att dagens WAP-telefoner inte kan ladda ner dokument som är större än 2Kb,d.v.s. 2048 tecken.

Ett första dokument
Häng med och konstruera ditt första WML-dokument. Är du otålig kan du ta dig en titt på avdelningen 'färdiga exempel' för en skärmdump på hur exemplet ser ut i en WAP-telefon.

________________________________________________________________
Öppna en texteditor och skapa en ny fil som sedan skall sparasmed filändelsen wml.

Huvudet på ett dokument skrivet i WML 1.1 bör se ut enligtföljande, utan radbrytning mellan andra och tredje raden.

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

Därefter måste vi deklarera första kortet i dokumentet,som vi kan kalla card1.

<card id="card1" title="Titel på sidan">

Vidare kan det vara bra att inleda med en ny paragraf, d.v.s. <p>taggen. Använd exempelvis, <p align="center"> för att centrerainnehållet.

Sedan är det dags för själva innehållet i kortet. Det finns en mängd olika taggar man kan använda för att formatera text. Exempelvis,

<b> eller <strong> - fet text
<big> - stor text
<em> - text med eftertryck
<i> - kursiv text
<small> - liten text
<u> - understruken text

<small> Testar att koda <b>WML</b></small>

En stor skillnad mot vanlig HTML är att även de taggar som endast förekommer en och en måste avslutas, d.v.s. koden för radbrytning <br> måste skrivas <br/>.

För att avsluta dokumentet skriver vi kort och gott,

</p>
</card>
</wml>
________________________________________________________________

För att provköra WML-sidan lokalt på din dator behöver du enWAP-läsare.Till Windows finns det utmärkta programmet WinWap. Kör man något annat operativsystemkan installera en WAP-simulator, som bygger på Java, från exempelvis Nokiaeller Ericsson. Se länkarna i slutet av guiden.

Innan du laddar upp några filer till ditt hemsidekonto så bör dukontrollera så att din leverantör stöder WML. Om så inte är fallet kan duskaffa dig gratis utrymme hos flertalet företag.

Länkning
Det finns några olika sätt att infoga en länk i ett dokument men det är endastett fåtal som fungerar tillfredsställande i dagens WAP-telefoner. Använderman sig av följande kodsyntax skall dock länken visas korrekt.

<anchor>Länktext<go href="wml/lanken.wml"/></anchor>

Det går naturligtvis även bra att länka globala sidor med http:// som prefix, eller lokala sidor i andra mappar.

Längst ner i varje kort kan det vara smidigt att lägga med enlänk tillbaka till huvudsidan. Istället för att använda ovan nämnda länkmetod kan man infoga en tillbakaknapp.

<do type="prev" label="Tillbaka"><prev/></do>

________________________________________________________________
Kodexempel, flera kort i ett och samma dokument.

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

<card id="kort1" title="Första kortet">
<p align="center">
Välkommen!
<br/><br/>
<anchor>Hoppa vidare<go href="#kort2"/></anchor>
</p>
</card>

<card id="kort2" title="Andra kortet">
<p>
Tack för ditt besök...
</p>
</card>

</wml>
________________________________________________________________

I det första kortet har vi lagt in en länk till det andra kortet. Observera att man även i från andra filer direkt kanlänka det andra kortet i ett annat dokument genom att använda tecknet # efter filens namn och därefter namnet på kortet, ex.

<anchor>Till andra kortet<go href="fil.wml#kort2"/></anchor>

Bildhantering
Bildformatet som används i WML kallas wbmp. Eftersom de WAP-telefoner vi har idag bara kan visa monokrom grafik (svartvit) så består bilder sparade som wbmp endast avtvå färger, svart och vit.

För att skapa wbmp-bilder rekommenderar vi att manladdar hem ett insticksprogram till Paint Shop PRO, se listan över länkan i slutet av guiden.

För att konvertera redan sparade bildfiler till wbmp så harföretaget Teraflops en helt underbar tjänst som går att använda online.

När man väl lyckats skapa en egen bild och sparat den i wbmp-formatet så är det dags att infoga den på sidan. Kodningen skiljer sig ytterst lite från vanlig HTML.

<img width="40" height="10" src="wml/fil.wbmp" alt="Text"/>

Attributen width och height är frivilliga men utelämnar man altgenereras ett felmeddelande och sidan visas inte.

Precis som i HTML kan man använda ytterligare attribut för att påverka bildens placering. Här visar vi hur man infogar en bildoch upplåter en pixel i vertikalt led och fyra pixels i horisontellt led till tomt utrymme på varje sida om bilden.

<img hspace="4" vspace="1" src="wml/fil.wbmp" alt="Text"/>

Skicka data
Att skapa formulär för inmatning av data i vanlig HTML innebär att man använderden s.k. formtaggen. I WML finns ingen motsvarande tagg utan där förenklasarbetet genom att man helt enkelt placerar ut de olika inmatningsfält somman önskar, precis vart man vill i dokumentet.
De vanligaste typen av inmatningsfält är textrutan som kan ha två utseenden.

Text - för inmatning av ren text,
<input type="text" title="Mata in" name="t1" maxlength="25"/>
Password - för inmatning av lösenord,
<input type="password" title="Lösen" name="p1" maxlength="10"/>


Attributet title bör innehålla en kort beskrivning på den data som efterfrågasoch attributet maxlength anger vilken maximal längd på den inmatade datansom accepteras.

Vidare kan man använda mer avancerade fält med olika valmöjligheter. Vanligastär att kombinera select (engelska för välj) och option (engelska för valmöjlighet).För att illustrera fältens egenskaper följer ett litet exempel som dessutomvisar hur man skickar den inmatade datan till ett skript, exempelvis av typenCGI eller ASP.

Tre saker att tänka på

Färdiga exempel
Exempel 1 - ett första dokument
Ladda hem källkoden (högerklicka och välj spara mål som...)

Skärmdump från en WAP-telefon.


Exempel 2 - flera kort i samma dokument
Ladda hem källkoden (högerklicka och välj spara mål som...)

Skärmdump från en WAP-telefon.Skärmdump från en WAP-telefon.


Exempel 3 - skicka data
Ladda hem källkoden (högerklicka och välj spara mål som...)

Skärmdump från en WAP-telefon.Skärmdump från en WAP-telefon.