Diferencia entre revisiones de «Usuario:Lmorillas/modulo lenguajes de marcas/xml/xslt»
De WikiEducator
(→¿Qué es?) |
(→Documentación) |
||
Línea 72: | 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 |
Revisión de 18:52 16 feb 2012
Contenido
¿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.