Diferencia entre revisiones de «Usuario:Lmorillas/modulo lenguajes de marcas/xml/xslt»

De WikiEducator
Saltar a: navegación, buscar
(Ejercicicos)
 
(3 revisiones intermedias por el mismo usuario no mostrado)
Línea 4: Línea 4:
 
* XSLT es un lenguaje para transformar documentos XML. Está basado en reglas. Puede filtrar, reordenar secciones etc.
 
* XSLT es un lenguaje para transformar documentos XML. Está basado en reglas. Puede filtrar, reordenar secciones etc.
 
* Formato de salida: xml, html, texto, ...
 
* Formato de salida: xml, html, texto, ...
 +
 +
== Enlazar una hora de estilos a un fichero xml ==
 +
<source lang="xml">
 +
<?xml version="1.0" encoding='ISO-8859-1'?>
 +
<?xml-stylesheet href="factura.xsl" type="text/xsl"?>
 +
<facturae>
 +
  ...
 +
</facturae>
 +
</source>
  
 
== Proceso de XSLT ==
 
== Proceso de XSLT ==
Línea 63: Línea 72:
 
== Documentación ==
 
== Documentación ==
 
* http://geneura.ugr.es/~jmerelo/XSLT/XSLT-2001-1ed.htm
 
* http://geneura.ugr.es/~jmerelo/XSLT/XSLT-2001-1ed.htm
 +
* http://geneura.ugr.es/~jmerelo/XSLT/XSLT-HTML-Baeza-2002.htm
 
* http://www.w3schools.com/xsl/
 
* http://www.w3schools.com/xsl/
 
* http://www.lsi.us.es/docencia/get.php?id=5591
 
* http://www.lsi.us.es/docencia/get.php?id=5591
 +
 +
== Ejercicios ==
 +
* [[/ejercicio xslt estudios | Ejercicio centro estudios]]

Última revisión de 17:57 16 feb 2012


¿Qué es?

  • XSLT es un lenguaje para transformar documentos XML. Está basado en reglas. Puede filtrar, reordenar secciones etc.
  • Formato de salida: xml, html, texto, ...

Enlazar una hora de estilos a un fichero xml

<?xml version="1.0" encoding='ISO-8859-1'?>
<?xml-stylesheet href="factura.xsl" type="text/xsl"?>
<facturae>
   ...
</facturae>

Proceso de XSLT

  • Las reglas template identifican los nodos por patrones (operadores XPath)
  • Las acciones pueden ser salida de texto (literal) o instrucciones xslt.
 Autor: 
 <xsl:value-of select="nombre" />
 <xsl:apply-templates />

¿Cómo crear una hoja de estilo para genera html?

Estructura del árbol

  • Dónde está la información y cómo

Generar estructura del html

  • Estructura del doc html: head y body
  • Dentro de body: apply-templates

Una regla template para cada nodo

  • Si no existe una regla para un nodo, se aplica la regla básica: imprimir todos los nodos de texto (built in rules)

Añadir etiquetas html

Reglas predefinidas

<xsl:template match="/|*">
  <xsl:apply-templates />
<xsl:template>
 
<xsl:template match="text()|@">
  <xsl:value-of select="." />
<xsl:template>
 
<xsl:template match=comment() | processing-instruction() />

Elementos básicos de xslt

template

Una hoja de estilo XSL consiste en un conjunto de reglas llamadas plantillas (templates). Cada elemento <xsl:template> contiene instrucciones de trasformación y presentación para aplicar a un nodo (match)

value-of

Selecciona el valor de un elemento XML y añadirlo al documento resultado de la transformación.

for-each

Permite realizar bucles en XSLT.

sort

Para ordenar nodos

if

La plantilla se aplica sólo si se cumple la condición.

choose - when - otherwise

Condiciones múltiples

apply-templates

Aplica una plantilla al elemento actual o a sus nodos hijos.


Documentación

Ejercicios