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
  • get
  • post
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
  • true
  • false
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>