View
234
Download
0
Category
Preview:
Citation preview
CONVERSIÓN Y ADAPTACIÓN DE
DOCUMENTOS XML
XSLTeXtensible Stylesheet
Languaje Transformation
CSS
Ejemplo
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.
EJEMPLO
XSLT
bdalumnos.xml
bdalumnos.xsl
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
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
ÁRBOL DEL DOCUMENTO
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
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
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/@*
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]
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: =, !=, <, >, <=, >=
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
ENLAZAR XSLT CON XML
PLANTILLAS VACÍAS
APLICACIÓN DE PLANTILLAS DE NODOS DESCENDIENTES
MOSTRAR CONTENIDO ELEMENTOS
MOSTRAR CONTENIDO ATRIBUTOS
Mostrar texto adicional
TRANSFORMACIÓN A HTML
ATRIBUTOS ETIQUETAS HTML
<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<‘valor’] Nodo[subnodo>‘valor’]
<xsl:sort select=“nodo"/>
<xsl:if test=“expresion”>
Xsl:choose/xsl:when/xsl:otherwise
Recommended