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

De WikiEducator
Saltar a: navegación, buscar
(Ejercicicos)
 
Línea 76: Línea 76:
 
* http://www.lsi.us.es/docencia/get.php?id=5591
 
* http://www.lsi.us.es/docencia/get.php?id=5591
  
== Ejercicicos ==
+
== Ejercicios ==
 
* [[/ejercicio xslt estudios | Ejercicio centro estudios]]
 
* [[/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