Diferencia entre revisiones de «Usuario:Lmorillas/modulo lenguajes de marcas/xml/xslt»
De WikiEducator
(→Documentación) |
(→Ejercicicos) |
||
(Una revisión intermedia por el mismo usuario no mostrado) | |||
Línea 75: | Línea 75: | ||
* 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 18:57 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.
Documentación
- 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.lsi.us.es/docencia/get.php?id=5591