WML - Tarefas
Uma tarefa WML é um elemento que especifica uma ação a ser executada pelo navegador, em vez de algo a ser exibido. Por exemplo, a ação de mudar para um novo cartão é representada por um elemento de tarefa <go>, e a ação de retornar ao cartão anterior visitado é representada por um elemento de tarefa <prev>. Os elementos da tarefa encapsulam todas as informações necessárias para executar a ação.
O WML fornece os quatro elementos a seguir para lidar com quatro tarefas WML, chamadas de tarefa, pré-tarefa, tarefa de atualização e tarefas noop.
A tarefa <go>:
Como o nome sugere, a tarefa <go> representa a ação de ir para um novo cartão.
O elemento <go> suporta os seguintes atributos:
Atributo | Valor | Descrição |
---|---|---|
href | URL | Fornece o URL do novo cartão. URLs relativos são resolvidos em relação ao cartão atual |
método |
|
Especifica o método que deve ser usado para buscar o deck. Deve ser um dos valores get ou post, correspondendo aos métodos GET e POST de HTTP. Ao usar method="get", os dados são enviados como uma solicitação com? dados anexados ao url. O método tem a desvantagem de poder ser usado apenas para uma quantidade limitada de dados e, se você enviar informações confidenciais, elas serão exibidas na tela e salvas nos logs do servidor web. Portanto, não use este método se estiver enviando senha etc. Com method="post", os dados são enviados como uma solicitação com os dados enviados no corpo da solicitação. Este método não tem limite e as informações confidenciais não são visíveis no URL |
sendreferer |
|
Se definido como verdadeiro, o navegador envia a URL do deck atual junto com a solicitação. Este URL é enviado como um URL relativo, se possível. O objetivo disso é permitir que os servidores executem um controle de acesso simples nos decks, com base em quais decks estão vinculados a eles. Por exemplo, usando HTTP, este atributo é enviado no cabeçalho HTTP Referer. |
aceitar-charset | charset_list | Especifica uma lista separada por vírgulas ou espaços de conjuntos de caracteres que podem codificar dados enviados ao servidor em uma solicitação POST. O valor padrão é "desconhecido". |
classe | dados da classe | Define um nome de classe para o elemento. |
Eu iria | ID do elemento | Um ID exclusivo para o elemento. |
A seguir está o exemplo que mostra o uso do elemento <go>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Chapter 2 : <go href="chapter2.wml"/>
</anchor>
</p>
</card>
</wml>
Outro exemplo que mostra como fazer upload de dados usando o método Get
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using Get Method
<go href="chapter2.wml?x=17&y=42" method="get"/>
</anchor>
</p>
</card>
</wml>
Outro exemplo mostrando como fazer upload de dados usando o elemento <setvar>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using setvar:
<go href="chapter2.wml">
<setvar name="x" value="17"/>
<setvar name="y" value="42"/>
</go>
</anchor>
</p>
</card>
</wml>
Outro exemplo mostrando como fazer upload de dados usando o elemento <postfiled>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using setvar:
<go href="chapter2.wml" method="get">
<postfield name="x" value="17"/>
<postfield name="y" value="42"/>
</go>
</anchor>
</p>
</card>
</wml>
A tarefa <prev>:
A tarefa <prev> representa a ação de retornar ao cartão visitado anteriormente na pilha de histórico. Quando esta ação é realizada, a entrada superior é removida da pilha de histórico e aquele cartão é exibido novamente, após quaisquer atribuições de variável <setvar> na tarefa <prev> terem efeito.
Se não houver URL anterior, especificar <prev> não terá efeito.
O elemento <prev> oferece suporte aos seguintes atributos:
Atributo | Valor | Descrição |
---|---|---|
classe | dados da classe | Define um nome de classe para o elemento. |
Eu iria | ID do elemento | Um ID exclusivo para o elemento. |
A seguir está o exemplo que mostra o uso do elemento <prev>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Prev Element">
<p>
<anchor>
Previous Page :<prev/>
</anchor>
</p>
</card>
</wml>
Uma situação em que pode ser útil incluir variáveis em uma tarefa <prev> é uma página de login, que solicita um nome de usuário e uma senha. Em algumas situações, você pode desejar limpar o campo de senha ao retornar ao cartão de login, forçando o usuário a inseri-lo novamente. Isso pode ser feito com uma construção como:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Prev Element">
<p>
<anchor>
<prev>
<setvar name="password" value=""/>
</prev>
</anchor>
</p>
</card>
</wml>
A tarefa <refresh>:
A tarefa <refresh> é a tarefa mais simples que realmente faz algo. Seu efeito é simplesmente realizar as atribuições de variáveis especificadas por seus elementos <setvar> e, em seguida, exibir novamente o cartão atual com os novos valores. As tarefas <go> e <prev> executam a mesma ação antes de exibir o novo cartão.
A tarefa <refresh> é mais frequentemente usada para realizar algum tipo de ação de "redefinição" no cartão.
O elemento <refresh> oferece suporte aos seguintes atributos:
Atributo | Valor | Descrição |
---|---|---|
classe | dados da classe | Define um nome de classe para o elemento. |
Eu iria | ID do elemento | Um ID exclusivo para o elemento. |
A seguir está o exemplo que mostra o uso do elemento <refresh>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Referesh Element">
<p>
<anchor>
Refresh this page:
<go href="test.wml"/>
<refresh>
<setvar name="x" value="100"/>
</refresh>
</anchor>
</p>
</card>
</wml>
A tarefa <noop>:
O objetivo da tarefa <noop> é não fazer nada (nenhuma operação).
O único uso real para esta tarefa é em conexão com modelos
O elemento <noop> oferece suporte aos seguintes atributos:
Atributo | Valor | Descrição |
---|---|---|
classe | dados da classe | Define um nome de classe para o elemento. |
Eu iria | ID do elemento | Um ID exclusivo para o elemento. |
A seguir está o exemplo que mostra o uso do elemento <noop>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Noop Element">
<p>
<do type="prev" label="Back">
<noop/>
</do>
</p>
</card>
</wml>