WAP - Sintassi WML
Il livello più alto nell'architettura WAP è costituito da WAE (Wireless Application Environment), che consiste nel linguaggio di scripting WML e WML.
Il linguaggio di scripting WML viene utilizzato per progettare applicazioni inviate tramite dispositivi wireless come i telefoni cellulari. Questo linguaggio si prende cura del piccolo schermo e della bassa larghezza di banda di trasmissione. WML è un'applicazione di XML, che è definita in una definizione del tipo di documento.
Le pagine WML sono chiamate mazzi. Sono costruiti come un insieme di carte, collegate tra loro da collegamenti. Quando si accede a una pagina WML da un telefono cellulare, tutte le carte nella pagina vengono scaricate dal server WAP sul telefono cellulare che mostra il contenuto.
I comandi e le sintassi WML vengono utilizzati per mostrare il contenuto e per navigare tra le schede. Gli sviluppatori possono utilizzare questi comandi per dichiarare variabili, formattare il testo e mostrare immagini sul telefono cellulare.
Struttura del programma WAP
Un programma WML è generalmente diviso in due parti: il file document prolog e il body. Considera il codice seguente:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card>
...
</card>
...more cards...
</wml>
La prima riga di questo testo dice che questo è un documento XML e la versione è 1.0. La seconda riga seleziona il tipo di documento e fornisce l'URL del filedocument type definition (DTD). Questa DTD fornisce la definizione XML completa di WML. Il DTD a cui si fa riferimento è definito in WAP 1.1, ma questa intestazione cambia con le versioni del WML. L'intestazione deve essere copiata esattamente in modo che i kit di strumenti generino automaticamente questo prologo.
Il corpo è racchiuso all'interno di una coppia di tag <wml> ... </wml> come mostrato sopra. Il corpo di un documento WML può essere costituito da uno o più dei seguenti:
Deck
Card
Contenuto da mostrare
Istruzioni di navigazione
Comandi WML
I comandi utilizzati in WML sono riassunti come segue:
Formattazione
Comando | Descrizione |
---|---|
<p> | Paragrafo |
<b> | Grassetto |
<big> | Grande |
<em> | Enfatizzato |
<I> | Corsivo |
<small> | Piccolo |
<strong> | Fortemente enfatizzato |
<u> | Sottolineato |
<br> | Interruzione di linea |
Inserimento di immagini
<img src="image-path/image - name" alt="Picture not available" />
Utilizzo di tabelle
Comando | Descrizione |
---|---|
<table> | Definizione di una tabella |
<tr> | Definire una riga |
<td> | Definizione di una colonna |
<Testa> | Intestazione della tabella |
Variabili
Dichiarato come -
<setvar name="x" value="xyz"/>
Usato come -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
Forme
Comando | Descrizione |
---|---|
<select> | Definisci elenco singolo o multiplo |
<input> | Input dell'utente |
<option> | Definisce un'opzione in un elenco selezionabile |
<fieldset> | Definisce una serie di campi di input |
<optgroup> | Definisce un gruppo di opzioni in un elenco selezionabile |
Elementi del compito
Comando | Descrizione |
---|---|
<go> | Rappresenta l'azione del passaggio a una nuova carta |
<noop> | Dice che non si dovrebbe fare nulla |
<prev> | Rappresenta l'azione di tornare alla carta precedente |
<refresh> | Aggiorna alcune variabili della scheda specificate. |
Eventi
I vari eventi sono i seguenti:
Comando | Descrizione |
---|---|
<do> | Definisce un gestore di eventi do |
<unvent> | Definisce un gestore di eventi onevent |
<postfield> | Definisce un gestore di eventi postfield |
<ontimer> | Definisce un gestore di eventi ontimer |
<onenterforward> | Definisce un gestore onenterforward |
<onenterbackward> | Definisce un gestore onenterbackward |
<onpick> | Definisce un gestore di eventi onpick |
Programma WML di esempio
Conserva il seguente codice WML in info.wml sul tuo server. Se il tuo server è abilitato per WAP, puoi accedere a questa pagina utilizzando qualsiasi dispositivo WAP.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<!-- WML prolog.declaration of file type and version>
<wml>
<!-- Declaration of the WML deck>
<card id="info" newcontext="true">
<!-- declaration of a card in deck>
<p align="center"><b>Information Center</b></p>
<!--paragraph declaration to display heading>
<p>
<!--paragraph declaration to display links>
<a href="Movie.wml">1. Movies info.</a>
<a href="Weather.wml">2. Weather Info.</a>
<!--declaration of links for weather and movies>
</p>
</card>
<!-- card end>
</wml>
<!-- program end>