......Home

Home You are here: Home Ajuda Geral WAP
WAP PDF Imprimir E-mail

WML São as siglas de Wireless Markup Language e é a linguagem utilizada para criar páginas para qualquer elemento que utilize a tecnologia WAP, como alguns telefones celulares.

WAP são as siglas de Wireless Application Protocol.

Este tutorial de wml consta de umas lições que ajudam passo a passo a construir uma simples e completa página para telefones e outros dispositivos wap ademais de uma segunda parte na qual se encontram os tags mais habituais na linguagem WAP.

Para compreender esta linguagem devemos estar bastante familiarizado com o html, já que o wml é muito similar.

PRIMEIROS PASSOS

As páginas wml swml são editadas com um editor normal de texto (tipo notepad de Windows). O mesmo que utilizávamos para os html servirá. Quando terminamos a página grava-se com a extensão .wml (ex.: arquivo.wml).

Para publicá-la em Internet, praticamente qualquer servidor de espaço servirá. Somente temos que configurá-la no servidor (ou pedir ao administrador do sistema que o faça) os MIME types:

  MIME type: EXTENSÃO
Para o código WML text/vnd.wap.wml .wml
Para as imagens wml (extensão wbmp): image/vnd.wap.wbmp .wbmp
Para o WML Script: text/vnd.wap.wmlscript .wmls
Para o WML compilado: application/vnd.wap.wmlc .wmlc
Para o WML Script compilado: application/vnd.wap.wmlscriptc .wmlsc

Porém se usamos apenas os .wml e .wbmp somente teremos que configurar o servidor para os mesmos.

E se queremos que o index.wml seja o index preestabelecido (para ter acesso direto a: http://www.wmlclub.com/wap/ e não ter que escrever: http://www.wmlclub.com/wap/index.wml) teremos que configurar o index.wml como página preestabelecida (cada servidor se configura de uma forma distinta).

O primeiro que devemos incluir é o seguinte encabeçado, que define a versão da linguagem WML a ser utilizada:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM" "http://www.wapforum.org/DTD/wml_1.1.xml">

A página encontra-se dentro do tag que indica que é wml: <wml> y </wml>

As páginas wml chamam-se "baralhos" e constam de uma ou mais "cartas".

Aqui temos um "baralho" de uma só "carta" ou o que é o mesmo, uma página wml simples:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="cartaum">
<p>Minha primeira página wml</p>
</card>
</wml>

E aqui um baralho de duas cartas:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="cartaum"> <br><p>Minha primeira página wml
<br/>
Esta é a carta um</p>
</card>
<card id="cartadois" title="Wapclub: Carta dois">
<p>Esta é a carta dois</p>
</card>
</wml>

A carta dois agora tem um título. O título aparecerá na linha de título do dispositivo wap.

Ao carregar a página vê-se sempre a primeira carta. Para ir da primeira carta à segunda, temos que pôr um link ou um botão:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="cartaum"> <br><p>Minha primeira página wml
<br/>
Esta á a carta um.
<br/>
<a href="#cartadois">Link à cartadois</a></p>
</card>
<card id="cartadois"> <br><p>Esta é a carta dois
<br/>
<a href="#cartaum">Link à cartaum</a></p>
</card>
</wml>

O salto de linha em wml è <br/> e não<br>, como no html.

Se o que queremos é fazer um link a uma página externa, devemos colocar o url completo:

<ahref="http://www.wapclub.com/">Ir a wapclub</a>  

Igual que em html, os comentários escrevem-se assim:

<!-- Isto é um comentário -->

Notas importantes

1) TODOS os textos deverão ir incluídos dentro do tag "p", assim:

<card id="um">
<p> Texto da carta um
<br/>
Mais texto
<br/>
</p>
</card>

2) Deve-se evitar o uso do tag "b" uma vez que pode dar erros em alguns dispositivos que não o admitem. Para usar um tamanho de letra maior recomendamos utilizar <strong> </strong> porém sempre com muita moderação.

3) Em alguns dispositivos o tag deve ser colocado diante de cada linha, nunca ao final ou no meio, sendo portanto melhor fazer sempre assim, para evitar problemas.

4) Recomendo o uso do atributo "title" sempre, porém devemos considerar que se colocamos mais letras das que um dispositivo pode suportar não sabemos como ficará ao final, pode desde "romper" a linha até se sobrepor ao texto que colocamos em cada "carta".

OS TAGS DE TEXTO

Os tags de texto são iguais aos do html:

<b> Negrita </b>
<i> Cursiva </i>
<em> Ênfase </em>
<strong> Com muita ênfase </strong>
<u> Sublinhado </u>
<big> Letra grande </big>
<small> Letra pequena </small>

Não é nada recomendável utilizar os tags "b", "i" e "u" mais que o imprescindível.

Ademais muitos dispositivos móveis não distinguem bem entre "strong" "b" ou "big".
Tendo em consideração que habitualmente as telas são pequenas, seria melhor não utilizar a ênfase.

CARACTERES ESPECIAIS
Existem certos caracteres que não podem ser escritos tal qual porque o WML reserva-os para seu próprio código.

Aqui encontramos uma lista desses caracteres:

SÍMBOLO: ESCREVE-SE:
< < (menor que)
> > (maior que)
´ ' (apóstrofo)
" "e; (aspas)
& & (ampersand)
$ $$ (dólar)
    (espaço, também se pode marcar a tecla de espaço diretamente)

Deve-se utilizar & em vez de & na linha de argumentos dos programas perl.
Por exemplo: programa.pl?nome=$(var1)&senha=$(var2)

Outros caracteres:

LETRAS: ESCREVE-SE: LETRAS: ESCREVE-SE
A A a a
B B b b
C C c c
D D d d
E E e e
F F f f
G G g g
H H h h
I I i i
J J j j
K K k k
L L l l
M M m m
N N n n
O O o o
P P p p
Q Q q q
R R r r
S S s s
T T t t
U U u u
V V v v
W W w w
X X y x
Y Y y y
Z Z z z
LETRAS: ESCREVE-SE: LETRAS: ESCREVE-SE:
À À Û Û
Â Â Ü Ü
Ã Ã Ý Ý
Ä Ä Þ Þ
Å Å ß ß
Æ Æ à à
Ç Ç á á
È È â â
É É ã ã
Ê Ê ä ä
Ë Ë å å
Ì Ì æ æ
Í Í ç ç
Î Î è è
Ï Ï é é
Ð Ð ê ê
Ñ Ñ ë ë
Ò Ò ì ì
Ó Ó í í
Ô Ô î î
Õ Õ ï ï
Ö Ö ð ð
× × ñ ñ
Ø Ø ò ò
Ù Ù ó ó
Ú Ú ô ô
LETRAS: ESCREVE-SE:
õ õ
ö ö
÷ ÷
ø ø
ù ù
ú ú
û û
ü ü
ý ý
þ þ
ÿ ÿ
 

Números:

NÚMEROS: ESCREVE-SE:
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
º º
¹ ¹
² ²
³ ³

Símbolos:

SÍMBOLO: ESCREVE-SE:
< < (menor que)
> > (maior que)
´ ' (apóstrofo)
" "e; (aspas)
& & (ampersand)
$ $$ (dólar)
    (espaço, também se pode marcar a tecla de espaço diretamente)

Outros:

SÍMBOLO: ESCREVE-SE:
¿ ¿
? ?
¡ ¡
! !
( (
) )
[ [
] ]
« «
» »
{ {
} }
> >
< <
/ /
\ \
" "
# #
% %
SÍMBOLO: ESCREVE-SE:
& &
' '
* *
+ +
= =
, ,
- -
. .
: :
; ;
@ @
^ ^
_ _
` `
~ ~
 
|  
¢ ¢
£ £
SÍMBOLO: ESCREVE-SE:
¤ ¤
¥ ¥
¦ ¦
§ §
¨ ¨
© ©
ª ª
¬ ¬
- ­
® ®
¯ ¯
° °
± ±
´ ´
µ µ
· ·
¸ ¸

ACENTOS E CEDILHA

Em wml temos que substituir os acentos agudo, grave, circunflexo, til e cedilha por estes caracteres:

á á
Á Á
é é
É É
í í
Í Í
ó ó
Ó Ó
ú ú
Ú Ú
à à
â â
 Â
ê ê
Ê Ê
ô ô
Ô Ô
ã ã
à Ã
õ õ
Õ Õ
ç ç
Ç Ç

 

VARIÁVEIS

Uma das grandes diferenças entre o wml e o html é que com o wml pode-se definir variáveis nas cartas, designar-lhes valores e apresentá-los na tela, inclusive utilizar as variáveis em expressões (programa.pl?f=$(mivar), etc.)
A maior vantagem de tudo isso é que pode-se conservar a informação ao passar de uma carta a outra e assim poder dividir o conteúdo em vários passos (que em telas tão pequenas, dá uma idéia de mais espaço).

As variáveis são cadeias de texto (case sensitive-que distingue maiúsculas e minúsculas, como sempre no wml) à quais se lhe designa um valor (sequência de caracteres) ou nenhum valor.
O nome da variável pode começar pelo traço baixo ou undercore: "_" ou uma letra US-ASCII, seguida de uma ou mais letras US-ASCII, números ou o traço baixo.
Exemplos de nomes de variáveis válidas: NOME_Usuario _mivar1 X700II

CRIAR VARIÁVEIS E DESIGNAR VALORES

Há Várias formas possíveis: 

  • Com setvar
    <setvar name="mivar1" value="Joao"/>
    João é o valor da variável mivar1. Com setvar criamos a variável e ao mesmo tempo também lhe designamos um valor.
  • Com input
    Com input pode-se criar (declarar) a variável, designá-la um valor e também devolvê-la o valor original.
    Input utiliza-se para a entrada de dados e esses dados (valores) serão designados a uma variável.
  • Com select
    Com select pode-se criar (declarar) a variável, designá-la um valor e também devolvê-la o valor original.
    Select permite selecionar ao usuário um ou mais valores entre uma lista de opções que serão designados a uma variável.
  • Com postfield
    Com postfield pode-se criar (declarar) a variável, designá-la um valor e também devolvê-la o valor original.

REFERENCIAR VARIÁVEIS

Podemos incluir o valor de uma variável dentro de um documento wml, tanto para que apareça na tela como para que se envie a um programa.

Há três formas de referenciar a variável:

$nomevariável
utiliza-se quando não há ambigüidade com o nome da variável dentro do contexto.
$(nomevariável)
Quando pode existir ambigüidade com o nome da variável dentro do contexto.
$(nomevariável:conversão) Explica-se mais abaixo.

Como o wml se reserva o uso do símbolo de dólar, para que queiramos que apareça na tela este símbolo, deve-se escrever duas vezes ($$). Por exemplo temos esta variável: $moeda e queremos apresentar seu valor na tela, assim: $15, escreveremos:
Saldo atual: $$$moeda

CONVERSÃO AO FORMATO ESCAPE $(nomevariável:conversão)

No seu momento se estabeleceu uma substituição de alguns caracteres próprios dos URLs para que o servidor não os confundira (regras do formato escape (RFC2396).
Estas regras facilitam-nos um mecanismo para poder incluir numa linha URL, esses caracteres. Ainda que estas regras foram criadas para referenciar URLs, podem-se aplicar as mesmas regras para referenciar variáveis.

Exemplo (este exemplo, que converte o texto em formato escape é muito útil, podemos descarregá-lo desde demos).

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="carta1" title="WMLCLUB">
<p>Bem-vindo
<br/>
Tecleie um texto com caracteres especiais:
<br/></p>
<p><input type="text" name="texto"/></p>
<do type="accept">
<go href="#carta2"/>
</do>
</card>
<card id="carta2" title="WMLCLUB">
<p>
Este é o texto introduzido, em formato escape:
<br/>
$(texto:e)
<br/>
Este é o texto introduzido, normal:
<br/>
$(texto)
</p>
</card>
</wml>

Quando se introduz o valor de uma variável dentro de um baralho, pode-se definir o formato (escape, unescape ou no escape) assim:

$(var:e) $(var:E) $(var:escape) (qualquer um dos três traduz ao formato escape)
$(var:u) $(var:U) $(var:unesc) (qualquer um dos três traduz do formato escape a texto US-ASCII)
$(var:n) $(var:N) $(var:noesc) (qualquer um dos três faz com que o valor da variável não se traduza ao formato escape)

O WML sempre aplica o formato escape quando se trata de atributos que trabalham com URLs. Por isso muitas vezes pode-se assumir que o WML converterá ao formato escape quando o tenha que fazer. De qualquer maneira, convém incluí-lo se temos a menor dúvida sobre o que ocorrerá.

Aqui encontramos uma lista dos caracteres de escape (todos começam por %)

; %3b
/ %2f
? %3f
: %3a
@ %40
& %26
= %3d
+ %2b
$ %24
, %2c
espaço %20
{ %7b
} %7d
| %7c
\ %55c
^ %5e
[ %5b
] %5d
` %27
< %3c
> %3e
# %23

AS VARIÁVEIS E AS TAREFAS <NOOP>, <PREV>, <REFRESH> e <GO>

  • <noop/>
    Não faz nada. Utiliza-se para desativar eventos no nível do baralho.

     

  • <prev/>
    Prev volta ao anterior URL.
    Se dentro de prev há um elemento setvar, como no exemplo, será processado antes de que se execute o prev.
    <prev>
    <setvar name="mivar" value="conteudo"/>
    </prev>

     

  • <refresh/>
    Refresh refresca os conteúdos visíveis do navegador.

    Se refresh contém um setvar, como no exemplo, processa-se o setvar e depois se procede ao refresh.

    <refresh>
    <setvar name="mivar" value="conteudo"/>
    </refresh>

     

  • <go>
    Go leva a outra URL ou outra carta. Se dentro de go há um elemento setvar, se processa primeiro este e depois se executa a tarefa "go".

    <go href="http://www.wmlclub.com/cgi-bin/programa.pl?x=$(mivar1)&y=$(mivar2)" method="post">
    <setvar name="mivar1" value="50"/>
    <setvar name="mivar2" value="80"/>
    </go>

IMAGENS EM MOVIMENTO

Para criar imagens em movimento utilizamos o contador de tempo "timer".
O formato das imagens wml é wbmp.
Veja na seção Programas um conversor de bmp a wbmp.

Exemplo de código para imagens em movimento:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM\" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="img1" ontimer="#img2">
<timer value="10"/>
<p>
<img src="/movel1.wbmp" alt="Movel1"/>
</p>
</card>
<card id="img2" ontimer="#img3">
<timer value="10"/>
<p>
<img src="/movel2.wbmp" alt="Movel2"/>
</p>
</card>
<card id="img3" ontimer="#img4">
<timer value="10"/>
<p>
<img src="/movel3.wbmp" alt="Movel3"/>
</p>
</card>
<card id="img4" ontimer="#end">
<timer value="10"/>
<p>
<img src="/movel4.wbmp" alt="Movel4"/>
</p>
</card>
<card id="fim" title="FIM">
<p> Fim
<br/>
<anchor>Outra vez!
<go href="#img1">
</go>
</anchor>
</p>
</card>
</wml>

 

CRIAÇÃO DE TABELAS

Ainda que o tag de <table> esteja guardado nas especificações do WML 1.1, existem alguns móveis que não o implementam, como é o caso do Nokia 7110, no lugar os dados são mostrados numa tabela de uma coluna.

Exemplo de código para criação de tabelas:< /p>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EM"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Tabela" title="Tabela 1">
<p><table columns="3">
<tr><td><p>Elemento 1</p></td>
<td><p>Elemento 2</p></td>
<td><p>Elemento 3</p></td></tr>
</table></p>
</card>
</wml>

Fonte:http://br.wmlclub.com

 

Últimas Notícias

  • Bono se tornou o músico mais rico do planeta com o Facebook
    Um dos integrantes da Elevation Partners é conhecido mundialmente. A empresa de capital de risco tem entre seus fundadores o líder do U2, Bono. Há cerca de 3 anos, a companhia resolveu apostar alto e investiu cerca de 90 milhões dólares no Facebook, em troca de 2,3% das ações. Agora, essas mesmas ações valem cerca de 2,5 bilhões de dólares. Mais da metade desse capital pertence a Bono - 1,52 bilhõ...
  • As 10 notícias mais importantes da semana (14 a 18 de maio)
    Não teve jeito: esta foi a semana do Facebook, que conseguiu levantar bilhões de dólares com sua entrada na Bolsa de Valores de Nova York. Mas, além das boas quantias levantadas pela rede social, outros fatos merecem destaque em nosso resumão da semana, como a saída de Scott Thompson do cargo de CEO do Yahoo!, a volta da Gradiente ao mercado de eletrônicos, e o projeto de lei aprovado pela Câmara ...
  • Assista ao trailer completo do novo DLC de Batman: Arkham City
    A Rocksteady divulgou nesta quinta-feira o trailer completo do novo DLC de Batman: Arkham City. Chamado de "Harley Quinn's Revenge", o extra será o capítulo final do jogo do Homem-Morcego. Com uma história adicional de aproximadamente duas horas, o jogador será novamente conduzido para Arkham City com o objetivo de enfrentar a vilã Arlequina, que decidiu se vingar de Batman após a morte do Coringa...
Top
#fc3424 #5835a1 #1975f2 #2fc86b #88919d #50cbd1