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:
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.