helyoWAP |
|
TUTORIAL
WML |
Autor: Helio Fonseca Rosa
Esta página contém muitas figuras. Aguarde a carga se a conexão estiver lenta.
Introdução
Este tutorial apresentará, mais adiante, um modelo de guia de cinema
utilizando o conceito de páginas dinâmicas programadas
em ambiente ASP; as chamadas páginas dinâmicas são escritas
nesta mesma linguagem WML mas montadas no servidor no
momento da consulta, com informações colhidas em bancos de dados.
O projeto teve início aqui, com a produção de telas estáticas, em que todos
os dados constam do próprio programa WML, como veremos a seguir.
Programa phone9.wml
Objetivo: Criar um protótipo de Guia de Filmes e
Cinemas.Uma página inicial direciona o usuário para duas páginas secundárias,
uma com a lista de filmes e outra com a relação dos cinemas.
Cada nome de filme e de cinema é um hyperlink para outras páginas contendo
mais detalhes.
Com objetivo puramente didático,
e como recordação dos assuntos vistos até este ponto, vamos utilizar métodos
diferentes de desvios nas três páginas citadas acima.
[Página inicial (programa phone9.wml): desvios
efetuados com o elemento <a>]
[Página secundária 1 (programa phone10.wml): desvios efetuados com o elemento "anchor"]
[Página secundária 2 (programa phone11.wml): desvios efetuados com o elemento "select"]
Vejamos as listagens:
phone9.wml (código):
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p align="center">
<b>*** helyoWAP ***</b><br/>
*** GUIA CINE ***<br/><br/>
<a href="phone10.wml" title="Filmes">FILMES</a><br/>
<a href="phone11.wml" title="Cinemas">CINEMAS</a><br/>
</p>
</card>
</wml>
Para conferência, o autor
copiou/colou a listagem acima no "Bloco de Notas" do Windows, o que
cancela qualquer tipo de formatação anterior. Em seguida, alinhou todas as
linhas à esquerda (o processo de copiar/colar pode trazer algum código espúrio,
não visível). Após, gravou o programa como phone9.wml.
Neste processo, o "Bloco de Notas" , automaticamente, mudou a extensão
para phone9.wml.txt!!! . Utilizando o Windows
Explorer (recomendado nestes casos) o arquivo foi renomeado para phone9.wml.
Em seguida foi testado com êxito no OWG1 Simulator.
O leitor pode utilizar um simulador ou um celular WAP para acessar este programa
no seguinte endereço da WEB:
http://sites.uol.com.br/helyomobile/wml/phone9.wml
. As telas poderão ter uma aparência diferente, dependo das características técnicas
do simulador ou celular utilizado.
Comentários:
As telas acima são geradas por um conjunto de três programas ou DECKs
(respectivamente, phone9.wml, phone10.wml
e phone11.wml).
Eis a estrutura do comando <a> </a> no programa Phone9.wml:
<a href="phone10.wml" title="Filmes">FILMES</a><br/>
onde:
Filmes é o label da tecla "Accept";
FILMES é a palavra "ativa" ou "hyperlink"
e aparece na tela entre parênteses;
"phone10.wml" é o endereço (nome do
programa ) que produz a tela desejada.
Deste modo, não foi necessário programar a tecla
"ACCEPT" com a dupla "do" e "go".
Eis a listagem do programa gerador da tela secundária 1 mostrada acima:
Programa phone10.wml (código):
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<do type="options" label="Guia">
<go href="phone9.wml"/>
</do>
<p align="center">
*** helyoWAP ***<br/>
*****FILMES****
</p>
<p align="left">
<anchor title="Filme1"><go href="#filme1"/>1.
X-Men</anchor><br/>
<anchor title="Filme2"><go href="#filme2"/>2.
Feitico do coracao</anchor><br/>
<anchor title="Filme3"><go href="#filme3"/>3.
60 segundos</anchor><br/>
</p>
</card>
<card id="filme1">
<do type="accept"
label="Guia">
<go href="phone9.wml"/>
</do>
<p align="center">
<strong>**
helyoWAP **</strong><br/></p>
<p align="center">
X-Men<br/>
Hugh Jachman<br/>
Cinemark 3<br/>
15h 18h30
</p>
</card>
<card id="filme2">
<do type="accept"
label="Guia">
<go href="phone9.wml"/>
</do>
<p align="center">
<strong>**
helyoWAP **</strong><br/></p>
<p align="center">
Feitico do Coracao<br/>
David Duchovny<br/>
Cinemark 1<br/>
22h30
</p>
</card>
<card id="filme3">
<do type="accept"
label="Guia">
<go href="phone9.wml"/>
</do>
<p align="center">
<strong>**
helyoWAP **</strong><br/></p>
<p align="center">
60 Segundos<br/>
Nicolas Cage<br/>
Cinemark 2<br/>
20h 22h
</p>
</card>
</wml>
Comentários:
Do mesmo modo, este programa, gerador da segunda tela mostrada acima, não
apresenta nenhuma novidade; Atenção para a programação das duas
softkeys (teclas "ACCEPT" e "OPTIONS"):
1. o label da tecla "ACCEPT" é fornecido pelo atributo "title",
dentro do elemento "anchor".
2. o label da tecla "OPTIONS" é fornecido pela dupla "do"
e "go".
Ao ser feita a escolha, o
elemento "anchor" proporciona o desvio para o card correspondente
que contém os dados referentes ao filme.
Como o exemplo apresenta 3 filmes, são necessários 3 cards.
Lembrando: há maneiras mais eficiente de construir este guia, mas estamos
apresentando este exemplo didático para dar mais opções de estudo e recordação
ao leitor.
Eis a tela correspondente ao filme "60 Segundos":
Eis o programa gerador da página secundária 2:
Programa phone11.wml (código):
<?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="card1">
<p>
<do type="accept" label="Filme?">
<go href="#exibir_cinema"/>
</do>
</p>
<p align="center">
<strong>** helyoWAP **<br/>
*** Cinemas ***</strong>
</p>
<p align="center">
<select name="cine">
<option
value=" Cinemark 1 Feitico do coracao 15h
18h">Cinemark 1</option>
<option
value="Cinemark
2 60
Segundos
20h 22h">Cinemark 2</option>
<option
value="Cinemark
3 X-Men
15h 18h 21h">Cinemark 3</option>
</select>
</p>
</card>
<card id="exibir_cinema">
<do type="accept"
label="Guia">
<go href="phone9.wml"/>
</do>
<p align="center">
<strong>**
helyoWAP **</strong><br/></p>
<p align="center">
<big>Cinema/Filme</big><br/>
$(cine)
</p>
</card>
</wml>
Comentários:
Recordando o "funcionamento" do
elemento "select":
Ao fazer uma opção, o conteúdo do "value" correspondente é
armazenado na variável indicada pelo atributo "name".
Por exemplo, se for escolhida a segunda opção, a variável "cine"
receberá o conteúdo:
"Cinemark 2
60 Segundos
20h 22h"
(Esta formatação contendo espaços é didática, para permitir a centralização
do conteúdo na tela do simulador)
O segundo card exibirá então o conteúdo da variável
"cine" indicado pela linha de código $(cine).
Eis a tela exibida neste caso:
Resumo dos "desvios":
Os desvios ou "saltos"
por meio de hyperlinks podem ser proporcionados por trechos de programas como
os abaixo:
1. Usando o elemento <a>:
<a href="phone10.wml" title="Filmes">FILMES</a><br/>
<a href="phone11.wml" title="Cinemas">CINEMAS</a><br/>
Neste caso, "title=" contém o label da tecla "ACCEPT".
2. Usando
o elemento <anchor>
<p align="left">
<anchor title="Filme1"><go
href="#filme1"/>1. X-Men</anchor><br/>
<anchor title="Filme2"><go
href="#filme2"/>2. Feitico do coracao</anchor><br/>
<anchor title="Filme3"><go href="#filme3"/>3.
60 segundos</anchor><br/>
</p>
Neste caso, "title=" contém o label da tecla "ACCEPT".
3. Usando
o elemento "select":
<p>
Escolha um signo:
<select name="horoscopo"
ivalue="2">
<option value="Evite
fazer promessas.">Capricornio</option>
<option value="Aguarde
grandes acontecimentos.">Peixes</option>
<option value="Um
novo amor espera por voce.">Aries</option>
<option>
<onevent type="onpick">
<go href="#construcao"/>
</onevent>Outros signos
</option>
</select>
</p>