Professional Documents
Culture Documents
www.exes.es
Manual de XML Tel: 902 360 417
Aplicaciones XML
Estudio del API DOM
Utilizacion de las
interfaces DOM
Acceso a datos con
XML
Utilizacion del API SAX
Créditos
La Compañía
Plantillas
Establece las transformaciones a realizar en el documento.
Se definen utilizando el elemento xsl:template.
A través del atributo match, se establece el patrón.
El patrón indica la rama del árbol XML sobre la que se aplica la plantilla.
El atributo name que dará nombre a la plantilla para poder ser invocada desde la instrucción
<xsl:call-template name=nombre_de_plantilla>
Para seleccionar el árbol del documento completo, se utiliza el patrón raíz (/): <xsl:template match=“/”>
instrucciones de plantilla
</xsl:template>
Las instrucciones de plantilla indican la transformación a realizar sobre el patrón. Este ejemplo, transforma el elemento nombre en su valor con formato título:
<xsl:template match=“nombre”>
<h2><xsl:value-of/><h2>
</xsl:template>
XPATH
Otros caracteres empleados para la construcción de patrones son:
. Nodo actual
.. Primario del nodo actual
| Alternativas (nombre|apellido)
// Hace que coincidan los descendientes en vez de los secundarios
* Comodín; hace que coincidan todos los elementos
1 de 7
@ Selección de atributo
[] Filtro para afinar
$all$ Todos los nodos deben de cumplir condición
$any$ Algun nodo debe de cumplir la condición
Operadores
and
or
not()
=
!=
< $lt$
<= $ile$
> $gt$
>= $ige$
Elementos de plantilla
Se utilizan para construir las instrucciones de plantilla.
Pertenecen al vocabulario XSLT, definido en el espacio de nombres XSL.
Los más utilizados son:
xsl:value-of
xsl:if
xsl:for-each
xsl:apply-templates
xsl:choose
xsl:output
xsl: include
EJEs (Axes)
Un eje especifica la relación dentro de un árbol que existe entre los nodos seleccionados y el nodo contexto.
Sintaxis
eje:: nodo de comprobación [predicados]
ejemplo
child::cliente[attribute::NIF =“53343246X”]
Ejes existentes
ancestor* Antecesores del nodo contexto
attribute Atributos del nodo contexto
child Contiene los ojos de nodo contexto
descendent* Todos los descendientes de nodo contexto
parent Contiene el padre de nodo contexto
self Contiene nodo contexto
namespace El namespace del nodo contexto
xsl:value-of
Inserta el valor de un elemento o atributo en la salida resultante.
En el caso de que se utilice en una plantilla cuyo patrón contiene nodos secundarios, puede utilizarse el atributo select para seleccionar el atributo o subelemento cuyo valor se va a utilizar:
2 de 7
xsl:apply-templates
Aplica, en el lugar donde aparece, la plantilla definida para el elemento indicado en el atributo select.
apply-templates aparece en el contexto de etiquetas de marcado HTML, para indicar que en ese punto del documento, se aplicará la transformación definida para un elemento del documento XML.
xsl:if
Aplica una serie de instrucciones si se cumple la condición establecida en el atributo test:
xsl:for-each
Se utiliza para recorrer los elementos de un documento, y realizar una serie de operaciones con los mismos.
El atributo select, determina que elementos se van a recorrer.
También puede llevar el atributo order-by, para ordenar los datos procesados por el bucle.
xsl:choose
Permite seleccionar entre varias opciones, estas se establecen mediante <xsl:when>:
3 de 7
El formato de xsl:when es el mismo que el de xsl:if.
Si no se cumple ninguna condición xsl:when, se ejecutará xsl:otherwise:
En el siguiente ejemplo, se muestra un documento (addressBook.xml), su hoja de estilos (addressbook.xsl) y su visualización en el IE5.0:
4 de 7
Ejercicio
Dado el siguiente documento xml:
5 de 7
La solución es:
6 de 7
··> Ver todos los cursos
7 de 7