You are on page 1of 7

Área de Programación y Desarrollo

www.exes.es
Manual de XML Tel: 902 360 417

Principal :: Dar formato a documentos XML Exes Contactar

¿Qué problema tiene


HTML? HOJAS DE ESTILOS XSL
¿Que es XML?
Análisis de documentos
XML Fundamentos
Validación de
documentos XML Las hojas de estilos XSL transforman el contenido de los documentos XML (XSLT), y les aplican formato (objetos de formato) de cara a su visualización en un navegador.
Diseño y creación Actualmente, ningún navegador soporta los Objetos de Formato.
de DTD’s
Sólo Internet Explorer 5.0 soporta XSLT, por lo que se utiliza para transformar documentos XML en XHTML.
Sintaxis de las DTD
Esquemas También es posible utilizar XSLT en el servidor para transformar XML en HTML y poder visualizar así, el contenido del documento en navegadores que no cuenten con soporte para XML.
Diseño y creación de
esquemas
Herramientas XML
Presentacion de
documentos XML
Dar formato a
documentos XML
Hojas de estilo en cascada CSS
Hojas de estilos XSL

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

Estructura de una hoja de estilo XSL


Una hoja de estilos XSL es un documento XML con extensión .xsl, en el que se define las transformaciones a realizar en el documento, mediante una serie de elementos y atributos.
La hoja de estilo incluye el elemento stylesheet, que declara el espacio de nombres para poder utilizar los elementos y atributos XSL:
<xsl:stylesheet xmlns:xsl=“http://www.w3.org/TR/WD-xsl”>
Para utilizar una hoja de estilos XSL en un documento, se utiliza la instrucción de procesamiento xml-stylesheet:
<?xml-stylesheet type=“text/xsl” href=“estilo.xsl”>
El elemento utilizado en la hoja de estilos para realizar las transformaciones, es la plantilla.

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

* llevan -or-self para incluirse en el grupo

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:

condición es una cadena de caracteres con la estructura:


“elemento operador valor”

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:

Diseñar una hoja de estilo que genere el siguiente resultado:

5 de 7
La solución es:

Transformación del documento en el servidor.


Realizando la transformación del documento en el servidor, es posible generar HTML que pueda ser visible desde cualquier plataforma.
Esto permite, por ejemplo, personalizar la presentación de los documentos mediante la utilización de distintas hojas de estilo.

6 de 7
··> Ver todos los cursos

··> Si necesitas más información, contáctanos aquí

Grado en Ingeniería Informática


Máster Universitario en Ingeniería del
Software
Máster Universitario en Arquitectura
del Software

‹ Hojas de estilo en cascada CSS subir Aplicaciones XML ›


EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es Twittear

7 de 7

You might also like