XML 2: XSLT, XPath Kostadin Koroutchev.

Slides:



Advertisements
Presentaciones similares
Publicación de las colecciones en CD ROM
Advertisements

Presentación de Visual Web Developer 2005 Express Edition Alfonso Goyeneche Torres Presidencia Nacional Comunidad Académica Microsoft Junta Directiva Nacional.
Repaso desde HTML a XHTML
UNIX COMP 240.
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
CI-2413 Desarrollo de Aplicaciones para Internet
Leer y escribir datos XML
INTRODUCCION A CSS.
DOM ( Document Object Model) Prof. Franklin Cedeño.
PHP-MYSQL OPERADORES EN PHP
Desarrollo de Aplicaciones para Internet
CSS WALC 2004 – Track 2 Pep Turró Cuzco, octubre de 2004.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Teoría de lenguajes y compiladores
Etiqueta Título Los títulos o encabezamientos se emplean al comienzo de una sección. Las etiquetas que se usan son: Los títulos o encabezamientos se emplean.
Laboratorio 7 Paginas Dinámicas Universidad de Chile – Bachillerato Curso: Computación Cristian Wilckens Patricio Bahamondes Fecha: 28 de Mayo del 2010.
METODOLOGIA DE LA PROGRAMACION
DISEÑO DE PAGINAS WEB Las páginas Web son documentos de hipertexto y multimedia. Son documentos multimedia que incorporan imágenes, videos, animaciones,
HTML Estructura.
Álvaro Salido Fernández
RESUMENCURSO STRUTS 2 Resumen de lo visto en este tercer módulo: VISTA del framework Struts 2 Debes tener los conceptos muy claros sobre: Results UI Tags.
DOM. DOM = Document Object Model Permite acceder y manipular las páginas XHTML DOM transforma los documentos XHTML en un conjunto de elementos llamados.
Enriquecimiento de ERDs con información lingüística haciendo uso de XSLTs Proyectando Silvia Nieto Directores Germán Bordel Mikel Peñagarikano.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XSLT.
Guía Rápida de Ayuda para mecanismos del Software Guía Rápida de Ayuda para mecanismos del Software 1- Requerimientos del sistema 2- Una mirada rápida.
HTML/CSS Mi primera página.
HTML/CSS Marcas básicas.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XPath.
El lenguaje de programación Java
Estructura de Documento Atributos 1. Atributos Básicos id, class, style, title 2. Atributos para Internacionalización lang, xml:lang, dir 3. Atributos.
CSS Módulo V. Funcionamiento Visor Web Servidor Web Documentos Página Web Solicitud Entrega.
Curso de Diseño Web Profesor: Mario Figge. El Modelo de Cajas (Box Model)
Oscar Bedoya. XSL. Una hoja de estilo es un documento XML que tiene como elemento documento... Todos los elementos xsl pertenecen.
XML no predefine la apariencia de los elementos. Se requiere una descripción aparte mediante una hoja de estilo. XSL (eXtensible Stylesheet Language) es.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · eXtensible Stylesheet Language Formatting Objects.
CSS div.
PHP TODO SOBRE PHP.
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Por principio un DIV, aunque su contenido sea muy pequeño ocupa todo el ancho de su padre generalmente el body, ya que son elementos de bloque. Recordar.
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · Introducción al mundo XML.
CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML
XML (Extensible Markup Language) Kostadin Koruchev Es necesario utilizar el soporte que acompaña estos apuntes.
X S L T Julio Pacheco.
Introducción al Lenguaje. ¿Qué es PHP? O Es un lenguaje de programación que es interpretado por un servidor web. O El lenguaje es genérico. PHP está orientado.
NOMBRES:OLIVARES ALFARO JOSE L. BONETTI ARON GRUPO:308.
WORLD WIDE WEB Lenguaje HTML
MANUAL DE USO BASES DE DATOS Por: EBSCO Information Services
Estructura de un documento HTML Opcionalmente los documentos escritos en HTML empezarán por la marca y finalizarán con la marca. Esta marca tan solo sirve.
Mapeo de Estructuras XML a Bases de Datos Relacionales
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
PRINCIPIOS DE PROGRAMACIÓN
PHP el Lenguaje Ejercicios Básicos.
Presente un cuestionario con los aspectos mas importantes sobre los
Práctica Profesional PHP.
Karina Quispe. Multiplataforma Simple Esta en todos lados No es mas que simple texto Libre.
Lic. Carla Aguirre Montalvo
Manual PHP Básico Camilo Cartagena.
@josedlujan. Director de Desarrollo M.T.I. José Dimas Luján Castillo
Capitulo 3 y 4.   La accesibilidad web habla acerca de que tanta facilidad tienen las paginas de internet tanto para los consumidores en general como.
Web y Multimedia II Integrantes: Piero Álvarez Mayra Atience Jhonney Bermeo Johanna Cabrera Gabriela Cango.
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
HTML. HTML 5 Características –Es una versión basada en HTML 4 –Manejo de la aplicación y multimedia. –Tags específicos para diferentes contenidos.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
LENGUAJES DE MARCAS Y SISTEMAS DE GESTIÓN DE INFORMACIÓN Bloque XML: UD4: espacios de nombres.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Transcripción de la presentación:

XML 2: XSLT, XPath Kostadin Koroutchev

XSL Transform XSL consiste de 2 partes: XMLT XSL Transform (XSLT) XSL Format Object (fo). Buenos para impresión. No muy buenos para pantalla (vamos a utilizar CSS en las prácticas) XMLT Uso – transformación de XML a XML Un tipo particular de XML – XHTML XHTML – muy parecido a HTML, pero XML Los browsers lo aceptan Prácticamente la misma funcionalidad que HTML 4.01.

XSLT Q&A ¿Qué es? ¿De qué sirve? ¿Dónde esta definido? Un lenguaje de programación ¿De qué sirve? De transformar el árbol de un fichero XML a otro formato. Mas frecuente – a otro fichero XML. ¿Dónde esta definido? http:www.w3.org/TR/ Libros de texto: La definición XML in a nutshell XML Bible Manera mas fácil de dominarlo – programando. Programas: Xsltproc, Netscape 6.0, IE 5.5+ ¿Ejemplos? Ver el soporte, ejemplo ??2*.*.

Proceso: El fichero, por ejemplo xx21.xml contiene instrucciones de procesamiento: <?xml-stylesheet type="text/xsl" href="xx21.xsl" ?> Existe fichero con estilos xx21.xsl Este fichero (formato xml) incluye las instrucciones de procesar el fichero xml. xx21.xsl Salida: fichero o vista xx21.xml Browser/ procesar xsl

XSLT Ejemplo entrada Resultado: Flavor: jazz XSL pp21.xsl XML pp21.xml <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/cd-s/cd"> <html><body><p> <xsl:for-each select="flavor">   Flavor:   <xsl:value-of select="." />   </xsl:for-each>   </p></body></html> </xsl:template> </xsl:stylesheet> <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="pp21.xsl" ?> <cd-s> <cd duration="2134">   <flavor>jazz</flavor>  <performer>L. Ams</performer>  <producer>EMI</producer> + <contents>  </cd> </cd-s> Resultado: <html><body><p> Flavor: jazz </p></body></html> Elemento root - stylesheet. Elemento Hay 2 tipos de xsl tags Namespace, version template mapea su match=. Todo el texto no <xsl:...> se copia.

XSLT Ejemplo entrada Tres tipos de marcos xsl: Cabecera (raíz). Los hijos de stylesheet Tipo template. Programación declarativa. Existen valores por defecto. Los hijos de estos hijos (recursivo). Tipo for-each, value-of Se parecen a programación funcional Elementos que apuntan al árbol: /cd-s/cd, flavor <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/cd-s/cd"> <html><body><p> <xsl:for-each select="flavor">   Flavor:   <xsl:value-of select="." />   </xsl:for-each>   </p></body></html> </xsl:template> </xsl:stylesheet> Ejemplos en el soporte – xx2*

XSLT Top-level element Top-level = 12 posibles elementos hijos de stylesheet: import, include URL – incluir ficheros. strip-space, preserve-space elements – tratar espacios. decimal-format, namespace-alias – control de la salida/entrada output – salida “literal” opciones de salida. key – a xsl ID (uso no muy frecuente) attribute-set, param, variable name=...>...valor...</xsl:varalable> conjunto nombrado de identificadores. template – el más importante elemento de XSL Ejecuta todo que mapea.

XSLT template 1 <xsl:template match=“/cd-s/cd”> ..zzz... </xsl:template> Si /cd-s/cd se encuentra en la entrada se produce enparejamiento y se ejecuta el código ..zzz.. . El árbol-salida se construye al ejecutar ..zzz... Atributos: match – el patrón de emparejamiento. name= nombre del template. Puede llamarse con este nombre. mode= clase de template.

XSLT template 2 Ejemplo con más de un template Manera habitual de programar con XSLT. Nunca hay que olvidar el xsl:template por defecto. xsl:apply-templates aplica los templates dentro de otro template de forma recursiva sobre los elementos del nodo actual. xsl:value-of escribe el elemento seleccionado a la salida. <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” version="1.0"> <xsl:template match="/"> <html><body>  <xsl:apply-templates select="cd-s/cd" /> </body></html> </xsl:template> <xsl:template match="*">   <xsl:apply-templates select="flavor" /> <xsl:template match="flavor"> <p>Flavor: <xsl:value-of select="." /></p> </xsl:stylesheet>

XSLT default template Template: Existen por defecto 2 templates: <xsl:template match=“*|/”> <xsl:apply-templates/> </xsl:template> </xsl:telmplate match=“comment()|processing-instructions()”/>

XSLT elements – instrucciones Las instrucciones son de tipo: apply-templates, call-templates Ejecuta templates if, for-each, choose, when, otherwise – control de flujo de ejecución value-of, copy-of – valor de un elemento. Etc.

XPath Las expresiones match= en template son un ejemplo de Xpath. XPath es Mecanismo de direccionar el árbol xml. Conjunto de funciones y expresiones.

XPath como mecanismo de direccionar árboles. Muy parecido a UNIX: /cd-s/cd/flavor direcciona el elemento flavor que es el hijo de cd que se el hijo del nodo cd-s, el elemento root (la / inicial). XSLT siempre direcciona relativamente de la posición actual en el árbol. La posición se denomina “.” El padre: .., el padre del padre “./..” etc. como en UNIX. Los atributos se marcan con @. Ver el soporte, ejemplo xx22.xml. En XPath // significa cualquier hijo. Otros: podemos añadir [...] en cualquier punto de la ruta con condición buleana o numero Numero (o expresión numérica) /cd-s/cd[2] – el segundo cd de los cd-s. Condición buleana: /cd-s/cd[@duration<100]/flavor, direcciona flavor solo de discos con duración menor que 100. /cd-s/cd[position()=last()] – el ultimo de los cd-s.

Xpath funciones Que direccionan algo del árbol Xpath Significado . Contenido textual del nodo y sus hijos. text() C-data pero solo de un nivel. node() Todo en el nodo name() Nombre del elemento (tag) @duracion Atributo de un nodo comment() Comentarios processing-instrucciones() PI <? .... ?>

Xpath funciones De posición Numéricas: Lógicas: Cadenas de caracteres: number(c-data), sum(). Lógicas: true(), false(), not(), boolean(c-data|numeric) Cadenas de caracteres: string(), string-length(), concat(), contains(), starts-with(),substring(),substring-after(),substring-before(), translate() Ejemplo: translate(‘John','abcd...z',‘ABC...Z‘); Xpath Significado position() Número de hijo. 1- primer hijo. [position()=2] es lo mismo como [2] last() Número de ultimo hijo

Xpath expresiones Operadores: Variables – con $. * div mod + - = != < > <= >= and or | Variables – con $.

Xpath atributos Como generar: Solución – generarlo por partes: Resultado (ejemplo): <table bgcolor=“ <xsl:value-of select=“color-de-xml””> El texto de la tabla </table> <xsl:element name=“table”> <xsl:attribute name=“bgcolor” > <xsl:value-of select=“color-de-xml” > </xsl:attribute> El texto de la tabla </xsl:element> <table bgcolor=“#ff0000”> El texto de la tabla </table>

XSLT Como aprenderlo Como cualquier lenguaje de programación – programando. No hemos mencionado bastante cosas útiles de Xpath y XSLT. Ejemplos: pp21.* -- sacar 1 campo de los apuntes. pp22.* -- sacar 1 campo con templates. xx21.* -- template+instrucciones xx22.* -- fo: + xsl: xx23.* -- Xpath xx24.* -- Cascade Style Sheet Referencia rápida (chuletas): http://www.mulberrytech.com/

Representación gráfica de árboles. Cascade Style Sheet (CSS) Un árbol se puede presentar en 2 dimensiones: Cada nodo tiene borde común solo con su padre. Cada padre encaja en su totalidad sus hijos todo todo p1 p2 p1 p22 p3 p2 p22 Ejemplo – XHTML p3 Idea de Xerox 1968 XML es un árbol – CSS nos da la manera de ordenar los nodos.

Representación grafica de árboles. Cascade Style Sheet (CSS) todo p1 p2 p22 p3 CSS solo resuelve el problema de poner las casitas de representación es su sitio. xx24.* Ejemplo CSS: flavor { display:inline;t ext-align left; font-size:24pt; color:blue} performer {color:red} performer:before {content:"Performer: "} contents {display:block} song { margin-left:1cm; display:list-item; list-style-type:diamond; list-style-position:inside } contents song[type="good"] title {color:maroon;} jazz Luis Amstrong EMI On the sunny side of the street Chick to chick On the Sunny Side of the Street Elementos_del_árbol : { descripción_del_formato } CSS representa el árbol por una parte y el formato por otra Cascada – por heredar los atributos de formateo del padre.

CSS Elemento principal El elemento de formateo es el elemento XML. Hay que presentarlo: en caja rectangular la cajita tiene: Por tanto los atributos son del tipo composer {border-color:red;margin-left:5mm;} Hay que direccionar el elemento en el árbol con el nombre del elemento. Contenido Padding Border Margin Position

CSS display Donde se coloca el siguiente elemento: Según el lenguaje – el orden natural de lectura de texto. Castellano: Japones El orden por defecto se puede cambiar: atributo – display display: inline /* por defecto */ display: block /* en la siguiente línea */ display: list /* ítem de una lista */ display: table /* tabla rectangular mas control, más complicado */ display: none /* no se presenta */

CSS grupos de elementos Ver la referencia rápida de los atributos más utilizados. Grupos de formateo: Bloques (border, color, width,backgroung, margin,...) Control desbordamiento etc. Fuentes (style, size, ...) Texto (alineación, decoración,word-spacing,letter-spacing) L ink (hover, active, focus, visited) Más de 300 paginas de definición de CSS2. Ver http://genuera.ugr.es/~maribel/xml/css/index.html Ver http://www.w3.org/TR/REC-CSS2/ Mas – en la segunda práctica.