Du er her: Hovedside > Artikler > WAP og WML > Artikkel

Lag dine egne WAP-sider

Skrevet av: GratisGuide.net

Stadig flere skaffer seg mobiltelefoner og PDA-er som kan benyttes til å surfe på nettet - såkalte WAP- (Wireless Application Protocol-) enheter. Disse enhetene kan tolke WML, eller Wireless Markup Language, og i denne artikkelen skal du få lære deg hvordan du gjør nettstedet ditt tilgjengelig for WAP-enheter!

Viktig

GratisGuide.net kan ikke ta ansvar for feil, skader eller annet som måtte oppstå som følge av at du benytter fremgangsmåten som beskrevet under - med henblikk på bruk av og/eller endringer i .htaccess-filer. Du er selv ansvarlig for det du gjør.

Oppdatering

Etter at denne artikkelen ble skrevet har vi lagt til en WML-generator til vår seksjon Kodeservice.

Forberedelser

Før vi går videre må vi understreke at denne delen av artikkelen i utgangspunktet retter seg mot de som kjører nettstedet sitt med Apache Web Server. Informasjonen kan dog være riktig for andre typer serverprogrammer.

WAP-enhetene benytter internett på samme måte som nettleseren du bruker nå gjør det. En henvendelse sendes fra WAP-enheten til ISP-ens tjener som så sender en henvendelse til tjeneren nettsiden du ber om befinner seg. Denne blir så sendt din enhet og vises i denne.

Klargjøring av nettjeneren

Som standard er Apache satt opp til å levere et HTML-dokument til en nettleser. Det er vel og bra for de nettleserne som tolker HTML. Det gjør ikke WAP-enhetene, de tolker WML.

For å fortelle webserveren Apache at andre typer dokumenter ønskes kan vi legge til en systemfil kalt .htaccess. Et eksempel på en slik fil ser du nedenfor:

#Eksempel på .htaccess-fil
ErrorDocument 404 feil.html
AddType application/x-httpd-php .phtml
DirectoryIndex index.phtml

Det er utenfor denne artikkelens område å gå inn på .htaccess-filen. Du kan lese mer om den hos Apache se denne nyhetsartikkelen for mer informasjon. (Det er verdt å nevne at en .htaccess-fil lages i for eksempel Notepad eller en annen tekstbehandler som produserer rene tekstfiler.)

La oss si at nettstedet ditt har URL-en http://www.eksempel.no/ der filene dine ligger i serverkatalogen /home/eksempel/www/. URL-en http://www.eksempel.no/index.html er på serveren /home/eksempel/www/index.html. Du velger så å opprette en underkatalog til www kalt wap. På serveren blir det da /home/eksempel/www/wap/ og URL-en blir http://www.eksempel.no/wap/.

I wap-mappen din må du legge en .htaccess-fil med - eller legge til i en allerede eksisterende .htaccess-fil i mappen - følgende linjer:

#Eksempel på .htaccess-fil for WAP-mappen
AddType text/vnd.wap.wml wml
DirectoryIndex index.wml

Denne .htaccess-filen sier at det skal legges til en ny MIME-type for endelsen wml som er text/vnd.wap.wml. Dette får så nettleseren vite når den får dokumentet, altså hva slags type dokument som sendes når nettleseren ber om et dokument med endelsen wml. Vi har også satt standardsiden til index.wml. Det betyr at dersom noen benytter URL-en http://www.eksempel.no/wap/ vil de få filen index.wml da denne er standard ("directoy index"). Nevnte URL tilsvarer nå altså http://www.eksempel.no/wap/index.wml.

Lagre .htaccess-filen i wap-mappen din. Sjekk nøye om du allerede har en .htaccess-fil der slik at du i så tilfelle legger til informasjonen i den filen i stedet for å overskrive med den nye filen din. Se forøvrig merknaden innledningsvis!

Nå som katalogen din er klargjort for WML-dokumenter er det bare å sette i gang og lage dem!

Vi skal ikke gi deg en total innføring i hvordan du lager WML-dokumenter, du kan lese mer om det hos WAP Forum. Her skal du lære deg å lage et enkelt dokument.

Hva er WML og et WML-dokument?

Et WML-dokument er beskrevet i Wireless Markup Language - derfor kaller vi det et WML-dokument. Dette dokumentet kan bestå av tekst og grafikk. Tekst og oppsett kan formatteres på flere forskjellige måter, på samme måte som med HTML - HyperText Markup Language.

WML-dokumenter kan sies å være organisert som en samling kortstokker og kort. Et kort er en eller flere hendelser en bruker gjør. For eksempel visning av tekst, bilde, en meny, et skjemafelt. En bruker navigerer seg gjennom kortene i en kortstokk. Innholdet på et kort leses, valg foretas og brukeren navigerer seg til neste kort i kortstokken, eller til en ny kortstokk.

Kortene er altså gruppert i en kortstokk. En kortstokk er minste enhet i WML på samme måte som en HTML-side er minste enhet i HTML, i den forstand at en URL peker på en kortstokk og det er kortstokken som overføres til WAP-enheten, og en URL peker på en HTML-side og det er HTML-siden som vises i en nettleser.

Hvordan bygge opp et WML-dokument?

Nedenfor ser du et eksempel på et WML-dokument. Vi skal gjennomgå det linje for linje:

 1: <?xml version="1.0"?>
 2: <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://wapforum.org/DTD/wml_1.2.xml">
 3: <wml>
 4:   <card>
 5:     <p>
 6:     <do
type="accept">
 7:       <go
href="#to"/>
 8:     </do>
 9:     Hei, verden!
10:     Her er mitt første kort!
11:     </p>
12:    </card>
13:   <card
id="to">
14:     <p>
15:     Dette er den andre kortet!
16:     Ha det bra!
17:     </p>
18:   </card>
19: </wml>

Linje 1 og 2: Her angis hvilken spesifikasjon som følges av den kortstokken som kommer. Her er det WML versjon 1.2 som angis, og URL-en til spesifikasjonen for WML versjon 1.2 er oppgitt. Dette kalles en dokumentprolog og er påkrevet i WML.

Linje 3: På samme måte som et HTML-dokument ligger i en <HTML></HTML>-beholder, ligger et WML-dokument i en <WML></WML>-beholder. Både start og sluttmerket er påkrevet.

Linje 4: Det første kortet i kortstokken. Om det i URL-en til kortstokken ikke er angitt hvilket kort som skal vises er det det første kortet som skal vises. Både start- (<CARD>) og sluttmerke (</CARD>) er påkrevet.

Linje 5: Det angis start på et avsnitt. Start- (<P>) og sluttmerke (</P>) er påkrevet.

Linje 6: Her et det angitt en hendelse. Beholderen <DO> er angitt med type-attributten satt til "accept". Det er opptil nettleseren å bestemme hvordan dette skal vises. For eksempel kan det vises "NEXT" eller "CONTINUE".

Linje 7: Her angis målet for <DO>-beholderen fra linje 6. Her er det brukt en relativ URL angitt med en grind (#). Dette skal tolkes som en annet kort i den samme kortstokken med attributten id satt tilsvarende URL-en, her #to som angir at det er kortet med id-en "to" en skal videre til.

Linje 8: Avslutning av <DO>-elementet. Start- (<DO> som i linje 6) og sluttmerke (</DO>) er påkrevet.

Linje 9 og 10: Tekst som vises i nettleseren.

Linje 11: Avslutning av avsnittet som startet på linje 5.

Linje 12: Avslutning av kortet som ble startet på linje 4.

Linje 13: Start på neste kort. Her er id-attributten satt til verdien "to". Se også linje 4 og linje 7.

Linje 14: Det angis start på et avsnitt.

Linje 15 og 16: Tekst som vises i nettleseren.

Linje 17: Avslutning av avsnittet som ble startet på linje 14.

Linje 18: Avslutning av kortet som ble startet på linje 13.

Linje 19: Avslutning av <WML>-beholderen som ble startet på linje 3.

I eksempelet vårt hadde vi to kort. Du kan ha så mange kort du vil i en kortstokk - selv mer enn 52 :o). Du må allikevel huske på at en WAP-enhet, som skal ha kortstokken, har svært begrenset minne. Er kortstokken din for stor - for mange kort, eller for mange bilder - kan den ikke vise den.

Siden minste enhet i WML er en kortstokk, vil hele kortstokken bli avvist om det er for mange kort i den - om den er for stor for enheten som skal vise den.

Litt mer avansert WML

WML gir deg mulighet til å legge inn hendelser som skjer etter et gitt antall tiendelssekunder. Med utgangspunkt i dokumentet vi lagde, lager vi et nytt første og andre kort, som ser slik ut (resten av WML-dokumentet er det samme):

 1: <card id="en" ontimer="#to">
 2:   <timer
value="100"/>
 3:   <p>
 4:     Velkommen til
 5:     WAP-siden min
 6:   </p>
 7: </card>
 8: <card
id="to">
 9:   <p>
10:     Her finner du alt
11:     du vil vite om meg.
12:   </p>
13: </card>

Linje 1: Her har vi lagt til en attribut til <CARD></CARD>-beholderen. ontimer="" er en lenke, her satt til kortet som har ID-en "to".

Linje 2: I elementet <TIMER/>, som er en tidtaker, har vi satt attributten value="" til 100, som tilsvarer 10 sekunder. Når denne tiden er gått vil hendelsen satt i ontimer="" (linje 1) utføres.

Øvrige linjer er forklart tidligere.

Navigering i en WML-kortstokk

Det siste eksempelet vårt inneholder tre kort. En skal kunne gå frem og tilbake mellom kortene. Vi introduserer også en ny beholder i WML-dokumentet. Vi lager nye kort, men det øvrige WML-dokumentet er som tidligere det samme:

 1: <template>
 2:   <do
type="options" name="forrige" label="Forrige">
 3:     <prev/>
 4:   </do>
 5: </template>
 6:
 7: <card
id="en">
 8:   <do
type="accept" label="Neste">
 9:   <go
href="#to"/>
10:   </do>
11:   <do
type="options" name="forrige">
12:     <noop/>
13:   </do>
14:   <p>
15:     Dette er det første
16:     kortet i kortstokken.
17:   </p>
18: </card>
19: <card
id="to">
20:   <do
type="accept" label="Neste">
21:     <go
href="#tre"/>
22:   </do>
23:   <p>
24:     Dette er det andre
25:     kortet i kortstokken.
26:   </p>
27: </card>
28: <card
id="tre">
29:   <do
type="accept" label="Start">
30:     <go
href="#en"/>
31:   </do>
32:   <p>
33:     Dette er det siste
34:     kortet i kortstokken.<br/>
35:     <a
href="http://wap.aftenposten.no/">Besøk Aftenposten</a><br/>
36:     Ha det bra!
37:   </p>
38: </card>

Det ble mye nytt i det siste eksempelet :o)

Linje 1: Her introduseres en ny beholder. Denne skal plasseres før første kortet defineres. <TEMPLATE></TEMPLATE> er en mal, og det vi definerer her gjelder alle kort vi lager i kortstokken.

Linje 2: Vi setter hendelsen "forrige" til typen options="" med etiketten "Forrige" i beholderen <DO></DO>.

Linje 3: Hendelsen "forrige" skal utføre elementet <prev/>, som i WML er definert som "gå til forrige URL i historien" - som regel forrige side.

Linje 5: Malen vår avsluttes med sluttmerket </TEMPLATE>, som er påkrevet.

Linje 8: Vi gir typen accept="" etiketten "Neste". WML-spesifikasjonene sier at typen accept="" skal bety at noe godkjennes. På WAP-mobiltelefoner vil sannsynligvis typen "accept" være en Yes/OK-knapp, eller en knapp som til vanlig tilsier "ok", "videre", "fortsett" etc.

Linje 9: Vi lager en hendelse for typen accept="" der vi sier vi skal videre til kortet som heter "to". Det gjør vi med href-attributten i <GO></GO>-beholderen.

Linje 11: Malen vår har definert typen "options" til å være forrige side/kort. På første kort trenger vi ikke denne. Vi definerer en hendelse der vi setter typen og navnet til det samme som i malen.

Linje 12: Elementet <noop/> betyr "gjør ikke noe". Dette betyr at vi ikke vil få noen "Forrige" på kortet vårt. Siden dette er definert på kortet vil det gjelde fremfor det vi definerte i malen.

Linje 34: Her kommer elementet <BR/>. Dette angir at en linjeskift skal skje.

Linje 35: Vi har lagt til en lenke på det siste kortet. Denne har vi lenket til Aftenposten sine WAP-sider.

Alt klart for publisering!

Nå har du sett grunnleggende eksempler på hvordan du lager et WML-dokument. Med eksemplene tilgjengelig trenger du bare å endre teksten, så er du klar for opplasting av filene dine til nettjeneren.

Så er alt som gjenstår å sette i gang med å lage nettsted for WAP-brukere også :-)

Opphavsrett

Ønsker du å gjengi denne artikkelen eller noe fra den må du gjerne gjøre det, men ikke glem kildereferanse. For å lenke til denne artikkelen kan du bruke URL-en http://www.gratisguide.net/artikler/wap-og-wml/lag-dine-egne-wap-sider.html.

Tilbake til Artikler / WAP og WML



Annonse

Annonse

Google

GratisGuide.net
» Forsiden
» Om oss
» Nyhetsbrev
» Lage lenker til oss
» Opphavsrett

Nyhetsklipp
» Hovedside
» RSS-feeds

Artikler
» Hovedside
» Apache webserver
» Domenenavn
» Grafikk og clipart
» HTML og CSS
  » Hjemmeside på 1-2-3
  » Lage en basis-side
» Javascript
» MySQL
» PHP
» Søkemotorer
» WAP og WML
» Webdesign

Ressurs-databasen
» Hovedside
» Dmoz / ODP
  » World/Norsk/
  » Regional/.../Norway/
» Domeneavn/e-post
» Gjestebøker
» Grafikk
» Innhold/syndikert
» Juridisk/nettikette
» Lenke-/bannerbytte
» Programmeringsspråk
  » HTML
  » Javascript
  » MySQL og SQL
  » PHP
  » WML-script
» Reklame/annonsering
» Søkemotorer/kataloger
» Statistikk/tellere
» Topplister
» Vedlikehold
» WAP og WML
» Webdesign-maler
» Webhotell
» Webmaster-forum
» Annet

Bokdatabasen
» Hovedside
» Databaser
» Handel og markedsføring
» Innholdsredigering
» Juridisk
» Programmering
» Programvare
» Websideutvikling
» Generelt

Kodeservice
» Hovedside
» Kodegeneratorer
  » Dato
  » Fylkesliste
  » Meta-merke
  » Rammesett
  » Søkebokser
  » Sprett-opp-vindu
  » Stilark
  » WML

Innholdstjenester
» Hovedside
» Diskusjonsforum
» IP-adresse
» Nyhetsoversikt
» Om dagen i dag