Curso Introductorio al WML (WAP)


Este es el comienzo de un curso introductorio que pretende dar a conocer el lenguaje WML a aquellos que no poseen conocimientos avanzados sobre otros lenguajes como HTML o XML.

A la hora de escribir el código WML hay que tener en cuenta que se distinguen las mayúsculas de minúsculas, a esto se lo llama "case sensitive".

El WML es un lenguaje de etiquetas o tags, es decir, se compone de unas marcas para definir la estructura. Estas etiquetas poseen una serie de atributos, permitiendo manejar las etiquetas y modificar la forma en que se muestra la información que contiene, por ejemplo el tag <card> posee el atributo id y title, los atributos se definen dentro de la etiqueta, <card id="identificador" title= "titulo">.

Existen dos tipos de definición de tags, por un lago aquellos que tienen un principio y un final, por ejemplo:

<p>

....... párrafo

</p>

Por otro lado están aquellos que en si misma es una única etiqueta como <br/>, donde se escribe la "/" al final del tag.

Para comenzar a programar código WML necesitaremos un editor de textos como notepad. Existen editores que ayudan en la programación añadiendo código o ayudando a hacerlo. 

Para visualizar el resultado se utiliza un emulador, cada marca suele tener su propio emulador, para descargarte el software necesario puedes acudir a http://wmlclub.com/programas/ podrás encontrar desde emuladores a kits de desarrollo completos, lo único necesario para bajártelos es registrarte.

Cuando hayas cargado una página en el emulador o el terminal, se queda en memoria caché, por lo que si realizas alguna modificación necesitarás borrar la caché para poder visualizar el cambio.

Los ficheros con códido WML deben tener la extensión wml, por ejemplo index.wml, primero.wml, altas.wml, etc....

Este es el código que siempre debe aparecer al principio de una página WML, mediante él se informa que pertenece a código wml.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 


Tras estas etiquetas se escribe el código que será en realidad lo que se visualice en nuestro terminal.

La siguiente etiqueta es <wml>, donde recoge el código de la página.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 

<wml>

........ código

</wml>

Las páginas se dividen en cartas (card). A una página también se le llama deck, que no es más que un conjunto de cartas (card).

La definición de una carta se realiza mediante la marca <card> y finaliza con su correpondiente fin, </card>.


<?xml version= "1.0"?>

<!DOCTYPE <WML> PUBLIC "-//PABLIN//DTD <WML> 1.1//EN" http://www.pablin.com.ar/DTD/wml_1.1.xml ">

<wml>

<card id="carta1" title="titulo de carta">

</card>

</wml>

Los atributos de card los puedes ver aquí.

Se pueden definir varias cartas dentro de una página:

<?xml version= "1.0"?>

<!DOCTYPE <WML> PUBLIC "-//PABLIN//DTD <WML> 1.1//EN" http://www.pablin.com.ar/DTD/wml_1.1.xml ">

<wml>

<card id="carta1" title="titulo decarta1">

</card>

<card id="carta2" title="titulo decarta2">

</card>

<card id="carta3" title="titulo decarta3">

</card>

</wml>

La idea de crear las cartas es intentar dividir la información en varias subpáginas para presentarla de forma ordenada en la pantalla del terminal.

Para introducir texto en la página se realiza mediante la etiqueta <p>, el texto irá contenido entre el tag de comienzo (<p>) y el de fin (</p>). El uso es obligatorio.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 
<wml> 
<card id="cartauno" title="titulo de carta"> 
<p>Este es el texto de mi primera carta</p> 
</card> 
</wml>

Cuando se crean varias cartas, únicamente se pueden visualizar una de ellas, por lo que es necesario establecer un mecanismo para pasar de una carta a otra.

En este ejemplo se ha utilizado se ha utilizado la etiqueta <a ...>: 

<a href= "#carta_a_visualizar">texto visible para el usuario</a>

La tecla del terminal que permite ejecutar esta opción es la de OK.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 
<wml> 
<card id="cartauno" title="titulo de carta 1"> 
<p>Este es el texto de mi primera carta
<br/>
<a href="#cartados"> ir a carta dos </a>
</p>
</card>
<card id="cartados" title="titulo de carta 2"> 
<p> Este es el texto de mi segunda carta
<br/>
<a href="#cartauno">ir a carta uno</a></p>
</card>
</wml>

Una vez cargada la página, mediante la tecla OK (Yes) se permite enlazar a la carta dos para poder ver el contenido de ésta. Como se puede observar todo el contenido tanto de la carta cartauno como de cartados se encuentra contenido dentro de las etiquetas <p> y </p>. La etiqueta <br/> permite realizar un salto de línea en pantalla. 

En esta ocasión, en lugar de hacer un enlace a una carta de la misma página se realizará una llamada a una página diferente. El cambio se encuentra en que en lugar de colocar <a href="#carta"> se cambia por <a href= "pagina.wml">.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 
<wml>
<card id="deck1" title="Deck 1"> 
<p>Este es el texto de mi primera carta Pagina 1
<br/>
<a href="lec5_2.wml"> ir a pagina 2 </a>
</p>
</card>
</wml>

En el momento de pulsar la tecla OK (Yes) se activaría el enlace a la página siguiente, que en este caso tal y como está declarada será lec5_2.wml

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 
<wml> 
<card id="deck2" title="Deck 2"> 
<p>texto de la carta 1 Pagina 2
<br/>
<a href="lec5.wml"> ir a pagina anterior </a>
</p>
</card>
</wml> 

Nuevamente, si se pulsa el botón OK se ejecutará el enlace a la página lec5.wml

Existe, además de la etiqueta <a href=".."> otro método para poder pasar de una carta a otra o bien a una página diferente. Se puede realizar mediante el tag <go ....../>.

<?xml version="1.0"?> 
<!DOCTYPE wml PUBLIC "-//PABLIN//DTD WML 1.1//EN" "http://www.pablin.com.ar/DTD/wml_1.1.xml"> 
<wml> 
<card id="cartauno" title="Envio con go"> 
<do type="accept" label="Ir a Carta 2">
<go href="#cartados"/>
</do>
<p>Pulse 3 seg. la tecla OK 
<br/>
</p>
</card> 
<card id="cartados" title="titulo de carta 2"> 
<p> Bienvenido a la carta 2
<br/>
</p>
</card>
</wml> 

A diferencia de <a href...> donde únicamente con pulsar tecla OK se realiza el cambio, cuando se utiliza go, se debe pulsar al menos 3 segundos, tras ello aparece una ventana con las opciones donde te puedes dirigir, en este caso existen las opciones de la carta 2, la página previa o volver al menú. 
Mediante <do type="accept" label="Ir a Carta 2"> se permite el visualizar el menú de la imagen 2 y <go href="#cartados"/> define la página o carta que se visualizará a continuación.