Diapositiva 1
Download
Report
Transcript Diapositiva 1
¿Qué es XSL?
XML no predefine la apariencia de los elementos. Se requiere una
descripción aparte mediante una hoja de estilo.
XSL (eXtensible Stylesheet Language) es un lenguaje basado en XML,
estandarizado por el W3C, para expresar hojas de estilo aplicables a
documentos XML. Está formado por tres partes:
– XSLT (eXtensible Stylesheet Transformations): lenguaje para especificar
transformaciones de documentos XML
– XPath (XML Path Language): lenguaje para crear patrones para
identificar elementos XML sobre los que aplicar transformaciones
– Formating Objects: vocabulario XML de objetos de formateo, que
describen de manera independiente el estilo a aplicar
Usos de XSL
El lenguaje XSL se puede usar para:
• Representar documentos XML en diferentes formatos
• Extraer parte del contenido de un documento XML
• Transformar documentos XML entre esquemas
Patrones de transformación XSLT seguidos
1. Definición de las cabeceras de la página XSL
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
...
</xsl:stylesheet>
2. El patrón o template: Elemento básico de la páginas de estilo
Para cada nodo del árbol XML tenemos la posibilidad de definir un patrón de
estilos que marcará como se va a presentar este nodo en el documento final.
En el caso de la XML del trabajo:
<xsl:template match="Trabajo">
3. Selección de los elementos
He distinguido entre la selección individual, la selección procedural y la selección
de atributos.
Selección individual de elementos
• Para la selección de valores individuales, extraídos de los nodos del árbol XML,
debemos utilizar la instrucción "xsl:value-of", con ella podemos hacer referencia
tanto a nodos, como variables, cálculos matemáticos, etc.
Ejemplo:
<xsl:value-of select="Grupo/Componente/Nombre"/>
Selección procedural de elementos
La selección procedural se utiliza en aquellos casos en que un elemento está
compuesto por más de un ítem, párrafo, frase, etc. Para lo cual es necesario ir
recorriendo el nodo extrayendo cada uno de estos; esto se realiza mediante la
instrucción “xsl: for-each” para recorrer el nodo componente a componente y la
instrucción anterior “xsl:value-of” para extraerlos.
Ejemplo:
<xsl:for-each select="Introduccion/Bibliografia/Item">
<p>
<xsl:value-of select="."/>
</p>
</xsl:for-each>
Selección de atributos
Existen elementos en la XML que presentan atributos que interesa mostrar o
utilizar, como es el caso del elemento foto que tiene como atributos el fichero
donde se encuentra la foto, la altura y la anchura de esta. Estos atributos son
necesarios para conseguir mostrar por pantalla la foto ya que la instrucción <img>
requiere esos mismos atributos.
El acceso a los atributos se hace mediante selección individual o procedural
según el caso a @atributo
Ejemplo:
<xsl:value-of select="Desarrollo/Capitulo/Enlace/@Descripcion"/>
Para el caso de la foto utilicé:
<img>
<xsl:attribute name="src"><xsl:apply-templates
select="Grupo/Componente/foto/@fichero"/></xsl:attribute>
<xsl:attribute name="width"><xsl:apply-templates
select="Grupo/Componente/foto/@ancho"/></xsl:attribute>
<xsl:attribute name="height"><xsl:apply-templates
select="Grupo/Componente/foto/@alto"/></xsl:attribute>
</img>