Entendendo WML
A
primeira declaração dentro de um documento de XML é conhecida como um
prolog e é opcional. Ela consiste em duas linhas de código: a primeira
é a declaração de XML (define a versão de XML) e a segunda é o
documento que digita a declaração (um ponteiro para um arquivo que
contém o DTD deste documento). Uma amostra desta decleração é:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
Seguindo
o prolog, todo documento de XML contém um único elemento que contém
todos os outros subelementos e entidades. Semelhante ao HTML todos os
elementos são postos entre tags <> e </>. E este único
elemento de documento está contido dentro das tags
<wml>...</wml>.
Elementos válidos em WML
A
maioria dos modos de armazenar dados dentro de um documento de XML é
através de elementos e atributos. Os elementos são estruturados dentro
do documento principal e podem conter sub-elementos. E os atributos são
usados geralmente para descrever um elemento. O WML predefine um
conjunto de elementos que juntos criam seu documento. Estes elementos
podem ser divididos em dois grupos: os elementos de Deck/Card e os
elementos de Evento. Elementos de Deck/Card: wml ; card ; template ;
head ; access ; meta .
Elementos de Evento: do ; ontimer ; onenterforward ; onenterbackward ; onpick ; onevent ; postfield
As tarefas que os elementos apresentam são: go ; prev ; refresh ; noop
As variáveis que os elementos apresentam são: setvar
As introduções feitas pelo usuário são: input ; select ; option ; optgroup ; fieldset
As âncoras, imagens, e cronômetros que podem ser utilizados são: a ; anchor ; img ; timer
Para formatar textos: br ; p ; table ; tr ; td
Em cada um destes elementos utiliza-se a seguinte sintaxe: <elemento> valor de elemento </elemento>
Se
um elemento não tem nenhum dado entre ele (como é freqüentemente no
caso do <br>), você pode economizar espaço entrando com uma única
tag como por exemplo <br/>.
Construindo aplicações com WML (Exemplos)
O
WML foi projetado para dispositivos de pequena exibição. Como parte
deste desígnio, foi utilizado o conceito de um deck de cards. Um único
documento de WML (i.e. os elementos que estão dentro do elemento de
documento <wml>) é conhecido como um deck. Uma única interação
entre um agente de usuário e um usuário é conhecido como um card. A
beleza deste desígnio são aquelas telas que podem ser carregadas ao
cliente em uma única recuperação. Usando WMLScripts, podem ser feitas
seleções de usuário ou entradas carregadas em cards e podem também ser
eliminadas transações excessivas com servidores distantes. Dependendo
das capacidades de memória de seu cliente, pode ser necessário vários
cards dentro de vários decks, impedindo assim que um único deck fique
muito grande.
No nosso primeiro exemplo nós começaremos criando um deck de WML com apenas um card:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Primeiro" title="Primeiro Programa">
<p align="center">
Este é meu primeiro programa
<img src="imagem/primeiro.wbmp" alt="Meu Primeiro Programa"/>
</p>
</card>
</wml>
No segundo exemplo teremos mais cards:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Menu" title="">
<p align="center">
<a href="#card1">Primeiro</a>
<a href="#card2">Segundo</a>
<a href="#card3">Terceiro</a>
</p>
</card>
<card id="card1" title="">
<p align="center">
Este texto corresponde ao meu primeiro card.
</p>
</card>
<card id="card2" title="">
<p align="center">
Este texto corresponde ao meu segundo card.
</p>
</card>
<card id="card3" title="">
<p align="center">
Este texto corresponde ao meu terceiro card.
</p>
</card>
</wml>