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

De WikiEducator
Saltar a: navegación, buscar
Línea 34: Línea 34:
 
<xsl:template match=comment() | processing-instruction() />
 
<xsl:template match=comment() | processing-instruction() />
 
</source>
 
</source>
 +
 +
== Elementos básicos de xslt ==
 +
* http://www.bib.uc3m.es/~nogales/cursos/xslt.html
 +
 +
=== 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 ==
 +
* http://geneura.ugr.es/~jmerelo/XSLT/XSLT-2001-1ed.htm
 +
* http://www.w3schools.com/xsl/
 +
* http://www.lsi.us.es/docencia/get.php?id=5591

Revisión de 11:35 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, ...

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