Diferencia entre revisiones de «Usuario:Lmorillas/modulo lenguajes de marcas/xml/xslt»
De WikiEducator
(→¿Qué es?) |
|||
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 == |
Revisión de 18:50 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.