WAP - Sintaxis WML
La capa superior de la arquitectura WAP está formada por WAE (Wireless Application Environment), que consta de los lenguajes de scripting WML y WML.
El lenguaje de secuencias de comandos WML se utiliza para diseñar aplicaciones que se envían a través de dispositivos inalámbricos como teléfonos móviles. Este lenguaje se encarga de la pequeña pantalla y el bajo ancho de banda de transmisión. WML es una aplicación de XML, que se define en una definición de tipo de documento.
Las páginas WML se llaman decks. Están construidos como un conjunto de cartas, relacionadas entre sí con enlaces. Cuando se accede a una página WML desde un teléfono móvil, todas las tarjetas de la página se descargan del servidor WAP al teléfono móvil que muestra el contenido.
Los comandos y sintaxis de WML se utilizan para mostrar contenido y navegar entre las tarjetas. Los desarrolladores pueden usar estos comandos para declarar variables, formatear texto y mostrar imágenes en el teléfono móvil.
Estructura del programa WAP
Un programa WML generalmente se divide en dos partes: el document prolog y el body. Considere el siguiente código:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card>
...
</card>
...more cards...
</wml>
La primera línea de este texto dice que este es un documento XML y la versión es 1.0. La segunda línea selecciona el tipo de documento y proporciona la URL deldocument type definition (DTD). Este DTD proporciona la definición XML completa de WML. La DTD referenciada se define en WAP 1.1, pero este encabezado cambia con las versiones de WML. El encabezado debe copiarse exactamente para que los kits de herramientas generen automáticamente este prólogo.
El cuerpo está dentro de un par de etiquetas <wml> ... </wml> como se muestra arriba. El cuerpo de un documento WML puede constar de uno o más de los siguientes:
Deck
Card
Contenido a mostrar
Instrucciones de navegación
Comandos WML
Los comandos utilizados en WML se resumen a continuación:
Formateo
Mando | Descripción |
---|---|
<p> | Párrafo |
<b> | Negrita |
<grande> | Grande |
<em> | Enfatizado |
<I> | En cursiva |
<pequeño> | Pequeña |
<strong> | Fuertemente enfatizado |
<u> | Subrayada |
<br> | Salto de línea |
Insertar imágenes
<img src="image-path/image - name" alt="Picture not available" />
Usando tablas
Mando | Descripción |
---|---|
<tabla> | Definición de una mesa |
<tr> | Definiendo una fila |
<td> | Definiendo una columna |
<Thead> | Encabezado de tabla |
Variables
Declarado como -
<setvar name="x" value="xyz"/>
Usado como -
$ identifier or
$ (identifier) or
$ (Identifier; conversion)
Formularios
Mando | Descripción |
---|---|
<seleccionar> | Definir lista única o múltiple |
<entrada> | Entrada del usuario |
<opción> | Define una opción en una lista seleccionable |
<fieldset> | Define un conjunto de campos de entrada |
<optgroup> | Define un grupo de opciones en una lista seleccionable |
Elementos de la tarea
Mando | Descripción |
---|---|
<go> | Representa la acción de cambiar a una nueva tarjeta. |
<noop> | Dice que no se debe hacer nada |
<prev> | Representa la acción de volver a la carta anterior. |
<actualizar> | Actualiza algunas variables de tarjeta especificadas. |
Eventos
Los diversos eventos son los siguientes:
Mando | Descripción |
---|---|
<hacer> | Define un controlador de eventos do |
<un evento> | Define un controlador de eventos onevent |
<postfield> | Define un controlador de eventos postfield |
<ontimer> | Define un controlador de eventos ontimer |
<onenterforward> | Define un controlador onenterforward |
<onenterbackward> | Define un controlador onenterbackward |
<seleccionar> | Define un controlador de eventos onpick |
Ejemplo de programa WML
Mantenga el siguiente código WML en info.wml en su servidor. Si su servidor está habilitado para WAP, puede acceder a esta página utilizando cualquier dispositivo WAP.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<!-- WML prolog.declaration of file type and version>
<wml>
<!-- Declaration of the WML deck>
<card id="info" newcontext="true">
<!-- declaration of a card in deck>
<p align="center"><b>Information Center</b></p>
<!--paragraph declaration to display heading>
<p>
<!--paragraph declaration to display links>
<a href="Movie.wml">1. Movies info.</a>
<a href="Weather.wml">2. Weather Info.</a>
<!--declaration of links for weather and movies>
</p>
</card>
<!-- card end>
</wml>
<!-- program end>