Curso de WML

Supongamos que tenemos pensada una p�gina de tal forma, que cada una de las cartas va a tener siempre disponible una opci�n de volver a la carta anterior. Podemos poner esta opci�n en cada una de las cartas, pero las plantillas est�n pensadas para evitarnos esto. Si nuestra idea es que todas las cartas ofrezcan esta opci�n, creamos una carta plantilla con esa opci�n, y la opci�n de la plantilla se aplicar� a todas las cartas de la baraja. Con este fin tenemos la etiqueta <template> ... </template>

Esta etiqueta nos define una plantilla para las cartas de una baraja. Los eventos especificados (hablamos de ellos en el siguiente cap�tulo) se aplicar�n a todas las cartas de la baraja, como si se aplicaran una a una. No obstante, una carta dada puede sobreescribir el comportamiento definido en la etiqueta <template>. M�s concretamente:

  • Las etiquetas <do> especificadas en un <template> pueden ser sobreescritas en cartas individuales si ambos elementos tienen el mismo valor en el par�metro name.
  • Los eventos intr�nsecos pueden ser sobreescritos especificando un evento en una carta concreta. Esto lo veremos en el pr�ximo cap�tulo

Como siempre, vamos a mostrar un ejemplo con todos los detalles que se han explicado:

Ej_template.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM DTD WML 1.1//EN"
 "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<template>
<p>Plantilla de ejemplo
   <br/>
   <do type="prev" name="atras">
    <prev/>
   </do>
</p>
</template>
<card id="c1" title="c1">
<p>Carta 1 con plantilla, do con
   name="atras" sobreescrito, y do
   adicional.
   <do type="accept" name="atras">
    <noop/>
   </do>
   <do type="accept" name="sig">
    <go href="#c2"/>
   </do>
</p>
</card>
<card id="c2" title="c2">
<p>Carta 2 con plantilla y do adicional
   que no sobreescribe al do de la plantilla.
   <do type="accept" name="sig">
    <go href="#c3"/>
   </do>
</p>
</card>
<card id="c3" title="c3">
<p>Carta 3 con plantilla </p>
</card>
</wml>

Hay que hacer notar lo siguiente: en la plantilla he puesto el texto "Plantilla de ejemplo", y este texto ha sido escrito en cada una de las cartas de la baraja sin necesidad de especificarlo. Igual el ejemplo era muy tonto, pero pensad por ejemplo en alguna secci�n concreta que deba aparecer arriba; bastar� con escribirlo en la plantilla para que nos lo ponga en todas las cartas de la baraja.

En el ejemplo tambi�n se ha visto c�mo sobreescribir (o sustituir, si as� se entiende mejor) un <do> de la plantilla: basta con que tengan el mismo valor en el par�metro name. He sobreescrito el de la primera carta porque no suele haber cartas anteriores a ella, mientras que para las dem�s s� ;-)

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP