Saltar la navegación

5.- Utilización de plantillas.

Fotografía de Hoja de cuaderno donde puede leerse apply templates.
quinn.anya - www.flickr.com (CC BY-SA)
El elemento xml:template

El elemento xsl:template permite controlar el formato de salida que se aplica a ciertos datos de entrada.

Tiene un atributo denominado match, que se utiliza para seleccionar los nodos del árbol de entrada (conforme a XPath) a los que se va a aplicar la plantilla.

Para especificar el formato de salida, se emplean sentencias XHTML (el contenido del elemento template ha de ser XHTML bien estructurado).

Para especificar el punto de la salida donde queremos que se apliquen las plantillas, se emplea el elemento xsl:apply-templates.

Tiene un atributo select, que se utiliza para seleccionar los hijos del nodo de entrada (conforme a XPath) a los que se va a aplicar la plantilla.

Podemos usar ese atributo para especificar el orden en que van a ser procesados los nodos hijo. Si no lo hacemos de este modo, se aplicarán en el orden es el que el interprete utiliza al leer el documento XML, es decir, de arriba abajo.

Ejemplo de uso

Usando el código XML visto en el apartado 4.7, podríamos usar el siguiente código:

<xsl:template match="/">
<html>
  <body>
    <h2>Agenda de </h2>
    <xsl:apply-templates/>
  </body>
</html>
</xsl:template>
<xsl:template match="propietario/identificadores">
<h3>
<xsl:apply-templates select="apellidos"/>
,
<xsl:apply-templates select="nombre"/>
</h3>
</xsl:template>


Generaríamos una salida formateada como la siguiente:

Imagen de cómo se visualiza en un navegador web la salida formateada con XPath
Materiales educativos de la CAM (Uso educativo NC)

Con la primera plantilla creamos el documento html y el body y ponemos el título principal.

Con la segunda, seleccionamos al propietario de la agenda y lo formateamos como encabezado 3.