WAP - Sintaxe WML
A camada superior na arquitetura WAP é composta de WAE (Wireless Application Environment), que consiste em WML e linguagem de script WML.
A linguagem de script WML é usada para projetar aplicativos que são enviados por dispositivos sem fio, como telefones celulares. Essa linguagem cuida da tela pequena e da baixa largura de banda de transmissão. WML é um aplicativo de XML, que é definido em uma definição de tipo de documento.
As páginas WML são chamadas de decks. Eles são construídos como um conjunto de cartas, relacionadas entre si por links. Quando uma página WML é acessada de um telefone celular, todos os cartões da página são baixados do servidor WAP para o telefone celular que mostra o conteúdo.
Comandos e sintaxes WML são usados para mostrar o conteúdo e navegar entre os cartões. Os desenvolvedores podem usar esses comandos para declarar variáveis, formatar texto e mostrar imagens no telefone celular.
Estrutura do programa WAP
Um programa WML é normalmente dividido em duas partes - o document prolog e a body. Considere o seguinte código -
<?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>
A primeira linha deste texto diz que este é um documento XML e a versão é 1.0. A segunda linha seleciona o tipo de documento e dá a URL dodocument type definition (DTD). Este DTD fornece a definição XML completa de WML. O DTD referenciado é definido no WAP 1.1, mas este cabeçalho muda com as versões do WML. O cabeçalho deve ser copiado exatamente para que os kits de ferramentas gerem automaticamente este prólogo.
O corpo está dentro de um par de tags <wml> ... </wml> como mostrado acima. O corpo de um documento WML pode consistir em um ou mais dos seguintes -
Deck
Card
Conteúdo a ser mostrado
Instruções de navegação
Comandos WML
Os comandos usados em WML são resumidos da seguinte forma -
Formatação
Comando | Descrição |
---|---|
<p> | Parágrafo |
<b> | Negrito |
<grande> | ampla |
<em> | Enfatizado |
<I> | Itálico |
<pequeno> | Pequeno |
<strong> | Fortemente Enfatizado |
<u> | Sublinhado |
<br> | Quebra de linha |
Inserindo Imagens
<img src="image-path/image - name" alt="Picture not available" />
Usando tabelas
Comando | Descrição |
---|---|
<table> | Definição de mesa |
<tr> | Definindo uma linha |
<td> | Definindo uma coluna |
<Thead> | Cabeçalho da tabela |
Variáveis
Declarado como -
<setvar name="x" value="xyz"/>
Usado como -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
Formulários
Comando | Descrição |
---|---|
<select> | Definir lista única ou múltipla |
<input> | Entrada do usuário |
<opção> | Define uma opção em uma lista selecionável |
<fieldset> | Define um conjunto de campos de entrada |
<optgroup> | Define um grupo de opções em uma lista selecionável |
Elementos de Tarefa
Comando | Descrição |
---|---|
<go> | Representa a ação de mudar para um novo cartão |
<noop> | Diz que nada deve ser feito |
<prev> | Representa a ação de voltar ao cartão anterior |
<refresh> | Atualiza algumas variáveis de cartão especificadas. |
Eventos
Os vários eventos são os seguintes -
Comando | Descrição |
---|---|
<do> | Define um manipulador de eventos do |
<onevento> | Define um manipulador de eventos onevent |
<postfield> | Define um manipulador de eventos postfield |
<ontimer> | Define um manipulador de eventos ontimer |
<onenterforward> | Define um manipulador onenterforward |
<onenterbackward> | Define um manipulador onenterbackward |
<onpick> | Define um manipulador de eventos onpick |
Programa WML de amostra
Mantenha o seguinte código WML em info.wml em seu servidor. Se o seu servidor estiver habilitado para WAP, você poderá acessar esta página usando qualquer 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>