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

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

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

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