Tutorial WML2.0

WML2 é uma linguagem que estende a sintaxe e a semântica do seguinte:

  • XHTML Basic [ XHTMLBasic ]
  • CSS Mobile Profile [ CSSMP ]
  • Unique semantics of WML1.0 [ WML1.0 ]

WML2 é otimizado para especificar a apresentação e interação do usuário em dispositivos de capacidade limitada, como telefones celulares e outros terminais móveis sem fio.

Este tutorial fornece detalhes da Wireless Markup Language (WML) Versão 2. Este tutorial se refere à versão 2.0 do WML como WML2.

O XHTML Basic definido pelo W3C é um subconjunto próprio do XHTML, que é uma reformulação do HTML em XML.

Objetivos básicos do WML2:

Existem cinco objetivos principais para WML2:

  • Backward compatibility: O aplicativo WML2 também deve ser executado em dispositivos antigos.

  • Convergence with existing and evolving Internet standards: XHTML Basic [XHTMLBasic] e CSS Mobile Profile [CSSMP]

  • Optimisation of access from small, limited devices:Dispositivos habilitados para WAP são geralmente pequenos e operados por bateria e têm memória e capacidade de CPU relativamente limitadas. Portanto, o WML2 deve ser otimizado o suficiente para ser executado nesses dispositivos.

  • Allowance for the creation of distinct user interfaces: O WAP permite a criação de interfaces homem-máquina (MMIs) com o máximo de flexibilidade e capacidade para um fornecedor aprimorar a experiência do usuário.

  • Internationalisation of the architecture:O WAP visa códigos de caracteres comuns para uso internacional. Isso inclui símbolos internacionais e conjuntos de pictogramas para usuários finais e codificação de caracteres de uso local para desenvolvedores de conteúdo.

Visão WML2:

A visão do WML2 é criar uma linguagem que estenda a sintaxe e a semântica do perfil XHTML Basic e CSS Mobile com a semântica exclusiva do WML1. O usuário não deve estar ciente de como a compatibilidade com WML1 é alcançada.

A estrutura da linguagem WML2:

WML2 é uma nova linguagem com os seguintes componentes:

(1) XHTML Básico:

Este grupo de elementos é para convergência W3C. Para alguns dos elementos, os atributos de extensão WML são adicionados para alcançar a funcionalidade WML1.

(1a) Elementos básicos do XHTML:

a abbr acrônimo endereço base blockquote br legenda citar código dd dfn div dl dt em formulário h1 h2 h3 h4 h5 h6 cabeça kbd rótulo li link objeto ol param pre q samp span forte tabela td th título tr ul var

(1b) Elementos XHTML Basic com atributos de extensão WML:

body html img input meta opção p select style textarea

(2) Elementos de modularização XHTML:

Este grupo de elementos consiste em elementos selecionados dos módulos de XHTML não incluídos no XHTML Basic. A maioria dos elementos são incluídos para compatibilidade com WML1. Um elemento é incluído como um aprimoramento que se ajusta aos recursos limitados do aparelho.

(2a) Modularização XHTML para compatibilidade com versões anteriores com WML1:

b big i small (do Módulo de Apresentação) u (do Módulo Legado) fieldset optgroup (do Módulo de Formulários)

(2b) Elementos de modularização XHTML para aprimoramento de recursos:

hora

(3) Elementos de extensões WML:

Alguns elementos são trazidos do WML1, porque os recursos equivalentes não são fornecidos no XHTML Basic ou na Modularização XHTML. Um elemento é incluído para aprimoramento dos recursos do WML1.

(3a) Elementos de extensões WML (para compatibilidade com WML1):

wml: access wml: anchor wml: cartão wml: do wml: getvar wml: go wml: noop wml: onevent wml: postfield wml: prev wml: atualizar wml: setvar wml: timer

(3b) Elementos de extensões WML (para aprimoramento de recursos):

wml: widget

Módulos de estrutura do documento WML:

Os seguintes elementos no Módulo de Estrutura são usados ​​para especificar a estrutura de um documento WML2:

  • body
  • html
  • wml:card
  • head
  • title

O elemento body:

O atributo wml: newcontext especifica se o contexto do navegador é inicializado para um estado bem definido quando o documento é carregado. Se o valor do atributo wml: newcontext for "true", o navegador DEVE reinicializar o contexto do navegador durante a navegação para este cartão.

O elemento html:

O atributo xmlns: wml se refere ao namespace WML, por exemplo: http://www.wapforum.org/2001/wml.

O atributo wml: use-xml-fragments é usado para especificar como um identificador de fragmento é interpretado pelo agente do usuário. Para obter detalhes sobre o uso de wml: use-xml-fragments na tarefa go e na tarefa anterior.

O elemento wml: card:

O elemento wml: card especifica um fragmento do corpo do documento. Vários elementos wml: card podem aparecer em um único documento. Cada elemento wml: card representa uma apresentação individual e / ou interação com o usuário.

Se o valor do atributo newcontext do elemento wml: card for "true", o navegador DEVE reinicializar o contexto do navegador durante a navegação para este cartão.

O elemento principal:

Este elemento mantém as informações do cabeçalho do documento como metaelemento e folha de estilo, etc.

O elemento título:

Este elemento é usado para colocar um título de documento

NOTE:Os desenvolvedores WML podem usar o estilo de documento XHTML, ou seja, a estrutura do corpo, ou podem usar uma coleção de cartões. Quando a estrutura do corpo é usada, um documento é construído usando um elemento do corpo. O elemento body contém o conteúdo do documento. Quando uma coleção de cartões é usada, um documento é construído usando um ou mais elementos wml: card.

Tarefas WML2

As tarefas a seguir são definidas em WML2.0. Essas tarefas são muito semelhantes ao WML1.0

  • A tarefa de ir
  • A tarefa anterior
  • A tarefa noop
  • A tarefa de atualização

Eventos WML2:

Os seguintes tipos de eventos são definidos em WML2:

  • Intrinsic event: Um evento gerado pelo agente do usuário e inclui os seguintes eventos semelhantes a WML1.0

    • ontimer
    • onenterforward
    • onenterbackward
    • onpick
  • Extrinsic event:Um evento enviado ao agente do usuário por algum agente externo. A especificação WML 2 não especifica nenhuma classe de eventos extrínsecos. Um exemplo de uma classe de evento extrínseca WML pode ser eventos WTA

Tipo de documento WML2:

Os documentos WML2 são identificados pelo tipo de mídia MIME "application / wml + xml". O tipo "application / xhtml + xml" pode ser usado para identificar documentos de qualquer uma das linguagens de marcação baseadas em XHTML, incluindo XHTML Basic.

A declaração DOCTYPE pode incluir o XHTML Basic Formal Public Identifier e também pode incluir o URI do XHTML Basic DTD conforme especificado abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

Folhas de estilo com WML2

As folhas de estilo podem ser usadas para definir o estilo de documentos WML2. As informações de estilo podem ser associadas a um documento de 3 maneiras:

Folha de estilo externa:

Uma folha de estilo externa pode ser associada a um documento usando uma instrução especial de processamento XML ou o elemento de link. O uso da instrução de processamento XML também pode ser usado.

No exemplo a seguir, a instrução de processamento XML é usada para associar a folha de estilo externa "mobile.css".

<?xml-stylesheet href="mobile.css" 
                    media="handheld" type="text/css" ?>

No exemplo a seguir, o elemento link é usado para associar a folha de estilo externa "mystyle.css":

<html>
<head>
<link href="mystyle.css" type="text/css" rel="stylesheet"/>
...
</head>
...
</html>

Folhas de estilo internas:

As informações de estilo podem ser localizadas dentro do documento usando o elemento de estilo. Este elemento, como o link, deve estar localizado no cabeçalho do documento.

O seguinte mostra um exemplo de uma folha de estilo interna:

<html>
<head>
<style type="text/css">
p { text-align: center; }
</style>
...
</head>
...
</html>

Estilo inline:

Você pode especificar informações de estilo para um único elemento usando o atributo style . Isso é chamado de estilo embutido.

No exemplo a seguir, as informações de estilo embutidas são aplicadas a um elemento de parágrafo específico:

<p style="text-align: center">...</p>

A folha de estilo padrão WML2:

Aqui está um exemplo de folha de estilo para WML 2.0:

body, card, div, p, center, hr, h1, h2, h3, h4, h5, h6,
address, blockquote, pre, ol, ul, dl, dt, dd,
form, fieldset, object { display: block }
li      { display: list-item }
head    { display: none }
table   { display: table }
tr      { display: table-row }
td, th  { display: table-cell }
caption { display: table-caption }
th      { font-weight: bolder; text-align: center }
caption { text-align: center }
h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder }
i, cite, em, var,address { font-style: italic }
pre, code, kbd, pre { white-space: pre }
big     { font-size: larger}
small   { font-size: smaller}
hr      { border: 1px inset }
ol      { list-style-type: decimal }
u       { text-decoration: underline }

Os elementos WML2:

Aqui está um link para uma lista completa de todos os elementos WML2. A maioria dos elementos estão disponíveis na especificação XHTML, exceto alguns elementos que começam com WML: Esses elementos são específicos para WML.

Todos os elementos têm o mesmo significado aqui que eles têm na especificação XHTML.

Referência de tags WML2

Resumo:

Podemos concluir que, se você conhece XHTML e WML1.0, não tem nada a fazer para aprender WML2.0

Se você estiver interessado em mais leituras, aqui você pode encontrar as especificações completas para WAP2.0 e WML2.0