Tutorial WML2.0
WML2 è un linguaggio che estende la sintassi e la semantica dei seguenti:
- XHTML Basic [ XHTMLBasic ]
- CSS Mobile Profile [ CSSMP ]
- Unique semantics of WML1.0 [ WML1.0 ]
WML2 è ottimizzato per specificare la presentazione e l'interazione dell'utente su dispositivi con capacità limitate come telefoni cellulari e altri terminali mobili wireless.
Questa esercitazione fornisce i dettagli della versione WML (Wireless Markup Language) 2. Questa esercitazione fa riferimento alla versione 2.0 di WML come WML2.
L'XHTML Basic definito dal W3C è un sottoinsieme appropriato di XHTML, che è una riformulazione di HTML in XML.
Obiettivi di base di WML2:
Ci sono cinque obiettivi principali per WML2:
Backward compatibility: L'applicazione WML2 dovrebbe essere eseguita anche sui vecchi dispositivi.
Convergence with existing and evolving Internet standards: XHTML Basic [XHTMLBasic] e CSS Mobile Profile [CSSMP]
Optimisation of access from small, limited devices:I dispositivi abilitati per WAP sono generalmente piccoli e funzionano a batteria e hanno una memoria e una potenza della CPU relativamente limitate. Quindi WML2 dovrebbe essere sufficientemente ottimizzato per funzionare su questi dispositivi.
Allowance for the creation of distinct user interfaces: WAP consente la creazione di interfacce uomo macchina (MMI) con la massima flessibilità e capacità per un fornitore di migliorare l'esperienza dell'utente.
Internationalisation of the architecture:Il WAP prende di mira codici di caratteri comuni per uso internazionale. Ciò include simboli internazionali e set di pittogrammi per gli utenti finali e la codifica dei caratteri per uso locale per gli sviluppatori di contenuti.
Visione WML2:
La visione di WML2 è quella di creare un linguaggio che estenda la sintassi e la semantica del profilo XHTML Basic e CSS Mobile con la semantica unica di WML1. L'utente non deve essere a conoscenza di come si ottiene la compatibilità con WML1.
La struttura del linguaggio WML2:
WML2 è una nuova lingua con i seguenti componenti:
(1) XHTML Basic:
Questo gruppo di elementi è per la convergenza W3C. Per alcuni elementi, vengono aggiunti attributi di estensione WML per ottenere la funzionalità WML1.
(1a) Elementi XHTML Basic:
a abbr acronimo indirizzo blocco di base citazione br didascalia cita codice dd dfn div dl dt em form h1 h2 h3 h4 h5 h6 testa etichetta kbd li link oggetto ol param pre q camp span forte tabella td th titolo tr ul var
(1b) Elementi XHTML Basic con attributi di estensione WML:
body html img input meta opzione p seleziona lo stile textarea
(2) Elementi di modularizzazione XHTML:
Questo gruppo di elementi è costituito da elementi selezionati da quei moduli di XHTML non inclusi in XHTML Basic. La maggior parte degli elementi è inclusa per la compatibilità con WML1. Un elemento è incluso come miglioramento che si adatta alle capacità limitate del telefono.
(2a) Modularizzazione XHTML per retrocompatibilità con WML1:
b grande i piccolo (dal modulo di presentazione) u (dal modulo precedente) fieldset optgroup (dal modulo moduli)
(2b) Elementi di modularizzazione XHTML per il miglioramento delle funzionalità:
hr
(3) Elementi estensioni WML:
Alcuni elementi sono portati da WML1, perché le capacità equivalenti non sono fornite in XHTML Basic o XHTML Modularization. Un elemento è incluso per il miglioramento delle capacità WML1.
(3a) Elementi estensioni WML (per compatibilità WML1):
wml: access wml: anchor wml: card wml: do wml: getvar wml: go wml: noop wml: onevent wml: postfield wml: prev wml: refresh wml: setvar wml: timer
(3b) Elementi di estensioni WML (per il miglioramento delle funzionalità):
wml: widget
Moduli struttura documento WML:
I seguenti elementi in Structure Module vengono utilizzati per specificare la struttura di un documento WML2:
- body
- html
- wml:card
- head
- title
L'elemento del corpo:
L'attributo wml: newcontext specifica se il contesto del browser viene inizializzato in uno stato ben definito quando il documento viene caricato. Se il valore dell'attributo wml: newcontext è "true", il browser DEVE reinizializzare il contesto del browser durante la navigazione in questa scheda.
L'elemento html:
L'attributo xmlns: wml fa riferimento allo spazio dei nomi WML, ad esempio: http://www.wapforum.org/2001/wml.
L'attributo wml: use-xml-fragments viene utilizzato per specificare come un identificatore di frammento viene interpretato dal programma utente. Per i dettagli sull'utilizzo di wml: use-xml-fragments nell'attività go e nell'attività prev.
L'elemento wml: card:
L'elemento wml: card specifica un frammento del corpo del documento. Più elementi wml: card possono apparire in un unico documento. Ogni elemento wml: card rappresenta una singola presentazione e / o interazione con l'utente.
Se il valore dell'attributo newcontext dell'elemento wml: card è "true", il browser DEVE reinizializzare il contesto del browser durante la navigazione verso questa scheda.
L'elemento testa:
Questo elemento mantiene le informazioni di intestazione del documento come meta elemento e foglio di stile ecc.
L'elemento del titolo:
Questo elemento viene utilizzato per inserire il titolo di un documento
NOTE:Gli sviluppatori WML possono utilizzare lo stile del documento XHTML, ovvero la struttura del corpo, oppure possono utilizzare una raccolta di schede. Quando viene utilizzata la struttura del corpo, un documento viene costruito utilizzando un elemento del corpo. L'elemento body contiene il contenuto del documento. Quando viene utilizzata una raccolta di carte, un documento viene costruito utilizzando uno o più elementi wml: card.
Attività WML2
Le seguenti attività sono definite in WML2.0. Queste attività sono molto simili a WML1.0
- Il compito di andare
- Il compito precedente
- Il compito noop
- L'attività di aggiornamento
Eventi WML2:
I seguenti tipi di eventi sono definiti in WML2:
Intrinsic event: Un evento generato dall'agente utente e include i seguenti eventi simili a WML1.0
- ontimer
- onenterforward
- onenterbackward
- onpick
Extrinsic event:Un evento inviato al programma utente da un agente esterno. La specifica WML 2 non specifica alcuna classe di eventi estrinseci. Un esempio di una classe di eventi estrinseca WML può essere gli eventi WTA
Tipo di documento WML2:
I documenti WML2 sono identificati dal tipo di supporto MIME "application / wml + xml". Il tipo "application / xhtml + xml" può essere utilizzato per identificare i documenti da qualsiasi linguaggio di markup basato su XHTML, incluso XHTML Basic.
La dichiarazione DOCTYPE può includere l'XHTML Basic Formal Public Identifier e può anche includere l'URI della XHTML Basic DTD come specificato di seguito:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
Fogli di stile con WML2
I fogli di stile possono essere utilizzati per applicare lo stile ai documenti WML2. Le informazioni sullo stile possono essere associate a un documento in 3 modi:
Foglio di stile esterno:
Un foglio di stile esterno può essere associato a un documento utilizzando una speciale istruzione di elaborazione XML o l'elemento link. È inoltre possibile utilizzare l'istruzione di elaborazione XML.
Nell'esempio seguente, l'istruzione di elaborazione XML viene utilizzata per associare il foglio di stile esterno "mobile.css".
<?xml-stylesheet href="mobile.css"
media="handheld" type="text/css" ?>
Nell'esempio seguente, l'elemento link viene utilizzato per associare il foglio di stile esterno "mystyle.css":
<html>
<head>
<link href="mystyle.css" type="text/css" rel="stylesheet"/>
...
</head>
...
</html>
Fogli di stile interni:
Le informazioni sullo stile possono essere posizionate all'interno del documento utilizzando l'elemento style. Questo elemento, come il collegamento, deve essere posizionato nell'intestazione del documento.
Quanto segue mostra un esempio di un foglio di stile interno:
<html>
<head>
<style type="text/css">
p { text-align: center; }
</style>
...
</head>
...
</html>
Stile in linea:
È possibile specificare le informazioni sullo stile per un singolo elemento utilizzando l' attributo style . Questo è chiamato stile inline.
Nell'esempio seguente, le informazioni sullo stile in linea vengono applicate a un elemento di paragrafo specifico:
<p style="text-align: center">...</p>
Il foglio di stile predefinito WML2:
Ecco un esempio di foglio di stile per WML 2.0:
body, card, div, p, center, hr, h1, h2, h3, h4, h5, h6,
address, blockquote, pre, ol, ul, dl, dt, dd,
form, fieldset, object { display: block }
li { display: list-item }
head { display: none }
table { display: table }
tr { display: table-row }
td, th { display: table-cell }
caption { display: table-caption }
th { font-weight: bolder; text-align: center }
caption { text-align: center }
h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder }
i, cite, em, var,address { font-style: italic }
pre, code, kbd, pre { white-space: pre }
big { font-size: larger}
small { font-size: smaller}
hr { border: 1px inset }
ol { list-style-type: decimal }
u { text-decoration: underline }
Gli elementi WML2:
Ecco il collegamento a un elenco completo di tutti gli elementi WML2. La maggior parte degli elementi sono disponibili nelle specifiche XHTML tranne pochi elementi che iniziano con WML: questi elementi sono specifici di WML.
Tutti gli elementi hanno qui lo stesso significato di quello che hanno nella specifica XHTML.
Riferimento ai tag WML2Sommario:
Possiamo concludere che se conosci XHTML e WML1.0 non hai nulla da fare per imparare WML2.0
Se sei interessato a ulteriori letture, qui puoi trovare le specifiche complete per WAP2.0 e WML2.0