x s l t julio pacheco. prerequisitos html / xhtml xml / xml namespaces xpath

25
X S L T Julio Pacheco

Upload: alejandro-parra-maestre

Post on 23-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

X S L T

Julio Pacheco

Page 2: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Prerequisitos

HTML / XHTML XML / XML Namespaces XPath

Page 3: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

XSL

XSL describe como se desplegara un documento XML

Page 4: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Para que sirve XSLT ?

Documentos XSLT (Extensible Stylesheet Transformations) es tecnología para procesar documentos XML

Herramienta de traducción XML -> HTML, PDF, DOC, XLS…

XSLT = conversión de datos entre aplicaciones

XSLT usa XPath para navegar

Page 5: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Para que sirve XSLT ?

Es un lenguaje para Es un lenguaje para transformar la estructuratransformar la estructura

de un documento XMLde un documento XML

Page 6: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Como funciona XSLT ?

Page 7: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Como funciona XSLT

Page 8: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

XSLT – Documento XML

<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet type="text/xsl" href="hola.xsl"?><saludo>Hola, mundo!</saludo>

Page 9: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

XSLT – Hoja de Estilo

<?xml version="1.0" encoding="iso-8859-1"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>

<head><title>Un Saludo</title></head>

<body>

<p><font color="red“ face=“arial”><strong>

<xsl:value-of select="saludo"/>

</strong></font></p>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

Page 10: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Procesadores XSLT

Aplicación de una hoja de estilo a una fuente XML para producir una salida

MSXML3 SP4 (Internet Explorer) http://www.microsoft.com/xml

Saxonhttp://users.iclway.co.uk/mhkay/saxon/

Xalanhttp://xml.apache.org/xalan/overview.html

Page 11: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

La mayoría de navegadores actuales ya incorporan el procesador de XSLT: Mozilla Firefox Internet Explorer versiones superiores a 5.0 Netscape Opera Etc..

Navegadores XSLT

Page 12: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

XSLT es un lenguaje de programación.

Lenguaje de transformación basado en hojas de estilo.

XSL:FO, transformaciones que no sean XML.

Estilo de programación: AWK ML Scheme Nada que ver con C, C++, Java, etc.

Detalles XSLT

Page 13: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Formato y elementos de un documento XSL:

Formado por instrucciones XSLT y tags HTML.

Instrucción <xsl:template> Se utiliza para relacionar el template con el documento XML.

<xsl:template match="/">

Instrucción <xsl:value-of> Extraemos un valor del documento XML.

<xsl:value-of select="catalog/cd/title"/>

Instrucciones XSLT

Page 14: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Instrucción <xsl:for-each> Se utiliza para seleccionar todos los elementos de un nodo

concreto del documento XML.<xsl:for-each select="catalog/cd">

nodo</xsl:for-each>

Instrucción <xsl:sort> Ordenar los elementos dentro de un <xsl:for-each>.

<xsl:for-each select="catalog/cd"> <xsl:sort select="artist"/> nodo

</xsl:for-each>

Instrucciones XSLT

Page 15: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Instrucción <xsl:if> Se utiliza para condicionar .

<xsl:for-each select="catalog/cd"> <xsl:if test="price &gt; 10"> nodo </xsl:if>

</xsl:for-each>

Instrucciones XSLT

Page 16: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Instrucción <xsl:choose> Se utiliza para realizar múltiples preguntas

condicionales. Se debe utilizar junto a <xsl:when> y <xsl:otherwise>.

<xsl:choose> <xsl:when test="expression"> ... some output ... </xsl:when> <xsl:otherwise> ... some output .... </xsl:otherwise>

</xsl:choose>

Instrucciones XSLT

Page 17: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Instrucción <xsl:apply-templates> Aplica el template indicado a un tipo de nodo concreto. Declaración del template:

<xsl:template match="artist">Artist: <span style="color:#00ff00"><xsl:value-of select="."/></span><br /></xsl:template>

Instrucciones XSLT

Page 18: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Instrucción <xsl:apply-templates> Aplicación del template:

<xsl:template match="/"><html><body><h2>My CD Collection</h2> <xsl:apply-templates/> </body></html></xsl:template>

Instrucciones XSLT

Page 19: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Algunas funciones XSLT: Funciones especiales:

Funciones con nodos:

Instrucciones XSLT

Page 20: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Algunas funciones XSLT: Funciones con carácteres:

Instrucciones XSLT

Page 21: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

cdcatalog.xml

Ejemplo 2

Page 22: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

cdcatalog.xsl

Ejemplo 2

Page 23: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Mostramos cdcatalog.xml por pantalla...

Ejemplo 2

Page 24: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Ejemplo Divisas

Page 25: X S L T Julio Pacheco. Prerequisitos HTML / XHTML XML / XML Namespaces XPath

Referencias

www.w3schools.com