25
CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

Embed Size (px)

Citation preview

Page 1: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

CONVERSIÓN Y ADAPTACIÓN DE

DOCUMENTOS XML

XSLTeXtensible Stylesheet

Languaje Transformation

Page 2: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

CSS

Ejemplo

Page 3: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

XSLT Es un lenguaje de programación. Genera documentos a partir de documentos XML. A un documento se le pueden aplicar diferentes hojas

de estilo XSLT. Un hoja de estilo XSLT se puede aplicar a distintos

documentos XML.

Page 4: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EJEMPLO

XSLT

bdalumnos.xml

bdalumnos.xsl

Page 5: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

HOJAS DE ESTILO XSLT

Es un documento XML. Contiene una colección de plantillas. Cada plantilla establece cómo se transforma un

elemento documento XML. Si hay más de una plantilla sólo se aplica una de

ellas Si la plantilla no tiene nada el elemento y sus

descendientes no aparecen. bdalumnos0_a.xsl

Page 6: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

XPATH

Lenguaje que permite seleccionar nodos de un documento XML y calcular valores a partir de su contenido.

Mostrar el resultado de una expresión

Page 7: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

ÁRBOL DEL DOCUMENTO

Page 8: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EXPRESIONES XPATH

Una expresión XPath es una cadena de texto que representa un recorrido en el árbol del documento.

Evaluar una expresión XPath es buscar si hay nodos en el documento que se ajustan al recorrido definido en la expresión

http://www.mizar.dk/XPath/Default.aspx

Page 9: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EXPRESIONES XPATH I /:si está al principio de la expresión, indica el nodo raíz, si no, indica

"hijo". /biblioteca/libro/autor

//: si está al principio de la expresión, indica el nodo raíz, si no, indica "hijo".

/biblioteca//autor //autor

@atributo: selecciona el atributo. /biblioteca/libro/autor/@fechaNacimiento //@fechaNacimiento

..: selecciona el elemento padre. /biblioteca/libro/autor/@fechaNacimiento/.. //autor/..

|: permite elegir varios recorridos. //autor|//titulo

Page 10: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EXPRESIONES XPATH II node(): selecciona todos los nodos (elementos y texto)

//node() //libro/node() //autor/node() //libro//node()

text(): selecciona el contenido del elemento (texto). //autor/text() //text()

*: selecciona todos los elementos /biblioteca/* /biblioteca//* //libro/*

@*: selecciona todos los atributos //@* //autor/@*

Page 11: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EXPRESIONES XPATH III [@atributo]: selecciona los elementos que

tienen el atributo. //autor[@fechaNacimiento] //*[@año]

[número]: si hay varios resultados selecciona uno de ellos por número de orden; last() selecciona el último de ellos //libro[1] //libro[last()] //libro[last()-1]

Page 12: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

CONDICIONES EN XPATH [condicion]: selecciona los nodos que

cumplen la condición. La condición puede utilizar el valor de un atributo (utilizando @) o el texto que contiene el elemento (utilizando .)

En las condiciones se pueden utilizar los operadores siguientes: operador de unión (OR lógico): | operadores lógicos: and, or, not() operadores aritméticos: +, -, *, div, mod operadores de comparación: =, !=, <, >, <=, >=

Page 13: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

EJEMPLOS CONDICIONES XPATH //fechaPublicacion[@año<1970] //fechaPublicacion[@año<1970]/.. //libro[autor='Mario Vargas Llosa'] //autor[.="Mario Vargas Llosa"]/.. //autor[.="Mario Vargas Llosa"]/@* //autor[.="Mario Vargas Llosa"]/..//@* //libro[autor='Mario Vargas Llosa' and fechaPublicacion/@año="1969"] //titulo[.="La vida está en otra parte"]/../fechaPublicacion/@año //fechaPublicacion[@año=1973]/../titulo //fechaPublicacion[@año=//titulo[.="La vida está en otra

parte"]/../fechaPublicacion/@año]/../titulo títulos de los libros del mismo autor que la novela "Pantaleón y las

visitadoras" //libro[titulo= "Pantaleón y las visitadoras" ]/autor //libro[autor=//libro[titulo= "Pantaleón y las visitadoras" ]/autor]/titulo

Page 14: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

ENLAZAR XSLT CON XML

Page 15: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

PLANTILLAS VACÍAS

Page 16: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

APLICACIÓN DE PLANTILLAS DE NODOS DESCENDIENTES

Page 17: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

MOSTRAR CONTENIDO ELEMENTOS

Page 18: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

MOSTRAR CONTENIDO ATRIBUTOS

Page 19: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

Mostrar texto adicional

Page 20: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

TRANSFORMACIÓN A HTML

Page 21: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

ATRIBUTOS ETIQUETAS HTML

Page 22: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

<xsl:for-each select=“nodo”>

Selecciona todos los elementos que hay dentro del elemento que se pasa por parámetro.

Valores de select Nodo Nodo[subnodo=‘valor’] Nodo[subnodo!=‘valor’] Nodo[subnodo&lt;‘valor’] Nodo[subnodo&gt;‘valor’]

Page 23: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

<xsl:sort select=“nodo"/>

Page 24: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

<xsl:if test=“expresion”>

Page 25: CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML XSLT eXtensible Stylesheet Languaje Transformation

Xsl:choose/xsl:when/xsl:otherwise