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>