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>