XSL: extensible Style Language. Anabel Fraga



Documentos relacionados
Transformación de documentos XML con

Transformación documentos XML. Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo

Transformación de documentos : XSLT

Hojas de Estilos XSLT en el aula. Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es

Unidad 4: XSLT y XPATH. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012

Tema IV. XML. VI. XSL (XPath & XSLT) Desarrollo de Aplicaciones para Internet Curso 12 13

XSL. Introducción. Introducción. Introducción

5.1 Introducción a XSL

XML práctico Bases esenciales, conceptos y casos prácticos (2ª edición)

XSLT. Apuntes de guerrilla

Ejercicios del bloque de Web de Sistemas de Información:

[CONVERSIÓN Y ADAPTACIÓN DE DOCUMENTOS XML]

M. Carmen Fernández Panadero

Introducción a XSLT. Jose Emilio Labra Gayo. Octubre Contenidos Plantillas Programación Automatización Múltiples documentos

Fundamentos de las tecnologías de la información

2 Estructura de un Documento XML

XML: extensible Markup Language (Parte I) Ingeniería de la Información

Tecnologías Web. Diseño e implementación con.net

Tabla de Contenidos. xii

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

XSLT. Tecnólogo en Informática. Ing. Sebastián Vergara

Práctica 5: Oracle XML DB

Agenda XML XML XML XML XML. 1.1 Conceptos básicos de XML. 1.2 Ejemplos de lenguajes basados en XML. 1.3 Estructura de un documento XML

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero <mcfp@it.uc3m.

Primeros pasos con XML y XSL Ricardo Borillo Domenech

Capítulo 3: XML Spy como editor de documentos XML. 2. La interfaz de usuario de XML Spy

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur

XMLSpy. Manual de usuario.

Unidad 5: Namespaces. JJ Taboada León IES San Sebastián, Departamento de Informática LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012

XML, DTD y hojas de estilo

Práctica 4 Manejo avanzado de Bison

XML. Integración de Sistemas. Parte II. Diseño e implementación de aplicaciones Web con.net

XML: Reglas Básicas de Formación

Agustín Cernuda del Río Departamento de Informática Universidad de Oviedo. XSLT Universidad de Oviedo

extensible Markup Language (XML)

XSLT / XPath. Agustín Cernuda del Río Departamento de Informática Universidad de Oviedo

LENGUAJES DE PROGRAMACIÓN 4 MÓDULOS. 56 Horas

Estimación de Líneas de Código Orientada a Plantillas de Código Fuente

Fundamentos de Sistemas Multimedia. Práctica Documentos estructurados y publicación electrónica. XML y XSLT

XIII Reunión de Usuarios Aleph México. MarcXML. Egar Arturo Garcia Cárdenas

7.3.3 Ejemplo de hoja XSLT

Análisis de esquemas XML [1]

Estándares SGML y XML. Entornos de aplicación

DAW LENGUAJES DE MARCAS. Tema 1: Reconocimiento de las características de los Lenguajes de Marcas

Programación del Módulo Profesional. Lenguajes de Marcas y Sistemas de Gestión de Información. Del Ciclo Formativo de Grado Superior

Práctica de introducción a

Desarrollo de software para navegación web desde terminales celulares de 3ª generación

INDICE 1. Estructura, Sintaxis y Usos de XML 1. Fundamentos de XML 2. DTD: Características y Técnicas

Tema 3.1: Principios de diseño web accesibles

1 Introducción a XML

XML y XQuery. Qué es XML? Qué es XML? (II) Ejemplo de fichero XML. Cuerpo de un documento XML. Estructura de un documento XML

Capí tulo IV. Lenguajes de estilo

Páginas web ::: Hojas de estilo CSS Diseño de materiales multimedia. Web Hojas de estilo CSS

Introducción a las tecnologías y estándares XML

TEMA 5 LA FAMILIA XML EN LA NUEVA WEB

Ciclo Formativo de Grado Superior en Administración y de Sistemas Informáticos en Red. IES Valle del Cidacos Calahorra

Apuntes básicos del Tema 9

CAPAS O CONTENEDORES EN HTML. ETIQUETAS DIV Y SPAN. EJEMPLOS. MAQUETAR O DAR ESTRUCTURA A LAS PÁGINAS WEB. (CU00726B)

cenidet Mobile Usando XML Ing. Juan Carlos Olivares Rojas Dr. Víctor Jesús Sosa Sosa Cuernavaca, Morelos, México, marzo de 2006.

Sistemas de Información 12/13 XML (extensible Mark-up Language)

Visualización y Transformaciones en XML

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Microsoft Access 2007 (Completo)

El Lenguaje XML y las Bases de Datos Espaciales

Formularios HTML. Elementos de Programación y Lógica

IES Pablo Serrano-ASIR1D/DAM1D-B.Soler XML

MICROSOFT ACCESS 2010

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

TEMA 35: Estándares SGML y XML. Entornos de aplicación.

Tecnologías XML y Web Semántica. Departamento de Informática Universidad de Oviedo

XML Schema. Sergio Luján Mora.

XML Namespaces. Sergio Luján Mora.

MICROSOFT ACCESS 2003

Capítulo 1 Documentos HTML5

XML, parte 2. M. en C. Erika Vilches

Primeros pasos con XML y XSL

qué es XML? por qué es necesario XML? XML vs. SGML y HTML Hacía la estandarización de los datos

XML+AS2 XML. Extensible Markup Language. Conocimientos Básicos. Prof: Moisés Mañas Dpto. Escultura

CRONOGRAMA DE LA UNIDAD ED APRENDIZAJE DE APLICACIÓN DE LAS TECNOLOGÍAS DE INFORMACIÓN ENERO- JUNIO específicos Uso de modelos

EJEMPLO DE APERTURA Y CIERRE DE UNA ETIQUETA.

Introducción a Visual Studio.Net

Creación de documentos XML

Topicos Avanzados de Bases de Datos en la Web

Y SISTEMAS DE GESTIÓN DE INFORMACIÓN

2.1 XML. La figura 2.1 muestra la relación entre los lenguajes SGML, XML y HTML. Figura 2.1 Diagrama de conjuntos que demuestra la relación

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

Universidad de las Illes Balears Guía docente

3.1 Tipos de DTDs. ! Si queremos validar un documento XML (para comprobar si cumple las normas de un dialecto) tendremos que validarlo contra el DTD.

Objetivos del curso. Nuestra experiencia, nuestra mejor garantía. Duración y materiales del curso. Formación online

Generación de DTD para archivos XML utilizando una gramática visual relacional

Tema: Maquetación Web y CSS

IIC Tópicos Avanzados en Bases de Datos Extracción de Información en XML

Unidad 1. Introducción a HTML (I)

Análisis y Diseño de Sistemas de

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE TEMA: XHTML CATEDRA: INTRODUCCION A LA PROGRAMACION EN INTERNET

HTML. HTML (HyperText Markup Language) Creado en 1989 por el físico nuclear TIM BERNERS- LEE

Transformación del Modelo Relacional en UML a XML

TEMA 9 CREACIÓN DE PÁGINAS WEB

Transcripción:

XSL: extensible Style Language Anabel Fraga 1

Tabla de Contenidos La Familia XML Presentación en XML XSL XSLT Elementos XSL-FO Referencias 2

3 La Familia XML

Presentación en XML La presentación en HTML esta básicamente en los navegadores. Sería interesante programar la presentación (re-uso de código) Surgen las hojas de estilo: CSS: Cascading Style Sheets (HTML) XSL: extensible Style Language (XML) (XML + DTD o XML Schema + Fichero de Estilo XSL) 4

XSL (I) XSL es una familia de recomendaciones para definir documentos XML, consiste de tres partes: XSL Transformations (XSLT) Lenguaje para transformaciones XML XML Path Language (XPath) Lenguaje de expresión utilizado por XSLT para referirse a partes de un documento XML. (XPath es también usado por XML Linking) XSL Formatting Objects (XSL-FO) Vocabulario XML para especificar semántica de formato 5

6 XSL (II)

XSL (III) CSS XSL Puede usarse con HTML? Si No Puede usarse con XML? Si Si Tiene/Usa transformación? No Si Sintaxis utilizada CSS XML 7

XSLT XSLT es la parte más importante de XSL. Usada para transformar un documento XML en otro documento XML, HTML, WML, etc. XSLT puede añadir nuevos elementos o incluso eliminarlos. Incluso hacer pruebas o tomar decisiones. Comúnmente nos referimos a un XML source tree transformado en un XML result tree. 8

Elementos Reglas de plantillas xsl:template xsl:apply-templates xsl:call-template Salida xsl:value-of xsl:copy-of xsl:output Control de flujo xsl:for-each xsl:if xsl:choose, xsl:when, xsl:otherwise 9

Ejemplo <?xml version="1.0 encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href= refrencia.xsl"?> <fuente> <titulo> XSL</titulo> <autor>john Smith </autor> </fuente> <h1>xsl</h1> <h2>john Smith</h2> XSL John Smith 10 <xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/xsl/transform'> <xsl:template match="/"> <h1> <xsl:value-of select="//titulo"/> </h1> <h2> <xsl:value-of select="//autor"/> </h2> </xsl:template> </xsl:stylesheet>

Reglas de Plantilla xsl:template xsl:apply-templates xsl:call-template 11

xsl:template (I) Definición de regla de plantilla - template rule <xsl:template match= patrón > cuerpo </xsl:template> 12

xsl:template (II) Es una regla de plantilla que: define los nodos o subárboles de un árbol jerárquico XML dado (source xml) a los que es aplicable por medio de un patrón (location path) en XPath define una salida por medio de un cuerpo que contiene: Texto de salida (ejemplo: HTML) Aplicaciones de otras reglas de plantilla 13

xsl:apply-template Aplicación de las reglas de plantilla (template rule) <xsl:apply-templates/> Procesa todos los nodos hijos de tipo elemento, texto, comentario e instrucción de procesamiento <xsl:apply-templates select= expresión /> sólo procesa los nodos seleccionados por medio de la expresión en XPath 14

xsl:call-template (I) <xsl:template name= nombre /> da nombre a una regla <xsl:call-template name= nombre /> la llama por su nombre Puede haber parámetros o no según la definición que se de a la regla 15

xsl:call-template (II) <xsl:template name= CoordX"> <xsl:param name="x"/> <xsl:value-of select="concat( (,$x, ) )"/> </xsl:template> <xsl:variable name= Y"> <xsl:call-template name= CoordX"/> <xsl:with-param name="x" select="$y"/> </xsl:call-template> </xsl:variable> 16

Aplicación de Reglas (I) Si hay una regla aplicable Se aplica Si no hay regla aplicable Se aplica la regla predefinida (default) Si hay varias reglas aplicables 1) tienen prioridad las reglas de una hoja de estilo sobre las hojas que importa la misma 2) se aplican las prioridades (definidas por el usuario o asignadas por el sistema: se aplica la más específica) 3) algunos procesadores generan un error y otros aplican la última regla definida 17

Aplicación de Reglas (II) 18 Raíz (/) Elemento (*) Atributo (@*) Texto (text()) Nodo Comentario (comment()) Instr. Proc. (processinginstruction()) Espacio de Nombres Regla Predefinida Procesar Hijo Procesar Hijo Copia atributo como texto Copiar el texto No hacer nada No hacer nada No hacer nada

Reglas de Salida xsl:value-of xsl:copy-of xsl:output 19

xsl:value-of <xsl:value-of select= expresión > se evalúa el valor (como cadena de caracteres) correspondiente a la expresión 20

xsl:copy-of y xsl:copy <xsl:copy-of select= expresión /> copia un subárbol como salida. <xsl:copy select= expresión /> sólo copia el nodo en cuestión (sin los hijos). 21

xsl:output Controla el formato de salida. El procesamiento se realiza en dos fases: 1. se genera el árbol resultado (result tree) 2. se serializa el árbol (xsl:output tiene el control) Ejemplo: <xsl:output method= xml indent= yes > <xsl:output method= text encoding= iso-8859-1 > 22

Control de Flujo xsl:for-each xsl:if xsl:choose, xsl:when, xsl:otherwise 23

xsl:for-each Repite el procesamiento para cada uno de los nodos de un conjunto de nodos <xsl:for-each select= expresión > cuerpo </xsl:for-each> 24

xsl:if Sólo se procesa si se cumple la condición <xsl:if test= expresión > cuerpo </xsl:if> Ejemplo: <xsl:if test= position()=last() > <hr/> </xsl:if> 25

xsl:choose Permite la selección entre varias posibilidades de procesamiento Ejemplo: <xsl:choose> <xsl:when test= x=28 >Madrid</xsl:when> <xsl:when test= x=08 >Barcelona</xsl:when> <xsl:otherwise>?</xsl:otherwise> </xsl:choose> 26

Otros elementos Estructura xsl:stylesheet xsl:include xsl:import Orden xsl:sort xsl:number Otros xsl:element xsl:attribute xsl:comment xsl:processing-instruction xsl:text 27

Ejercicio: Hola Mundo! (I) Hacer un documento XML y un XSLT que presente Hola Mundo! en HTML 28

Ejercicio: Hola Mundo! (II) <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="hola.xsl"?> <saludo>hola, Mundo!</saludo> 29

Ejemplo: Hola Mundo! (III) <?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> 30 </xsl:stylesheet>

Procesadores XSLT Para aplicar una hoja de estilo XSL a un documento XML podemos utilizar: MSXML3 SP4 (Internet Explorer) http://www.microsoft.com/xml Saxon http://users.iclway.co.uk/mhkay/saxon/ Xalan (Usado en Clases Apache.org) http://xml.apache.org/xalan/overview.html 31

ie5.xsl ie4.xsl nav3.xsl Documento XML nokia.xsl sony.xsl edi_x.xsl sap_y.xsl flat_z.xsl 32

tabla.xsl Documento XML barra.xsl arte.xsl 33

XSL-FO (Formatting Objects) Una hoja de estilo XSL-FO provee la especificación de un documento XML para su posterior transformación y utiliza para ello vocabulario de formateado. Permite generar impresiones de alta calidad como PDF o PS Útil para producir documentos visualmente elaborados y compuestos 34

35 XSL XSLT XSL-FO

Procesadores XSL-FO Antenna House XSL Formatter: Una herramienta interactiva para XSL-FO http://www.antennahouse.com Adobe Acrobat: Una herramienta de visualización de documentos PDF. Creada por RenderX http://www.renderx.com 36

Referencias http://www.w3.org/tr/1999/rec-xslt-19991116 http://www.w3.org/tr/xsl/ http://www.zvon.org/index.php?nav_id=tutorials http://www.bayes.co.uk/xml/index.xml http://www.xml-web.de http://www.xsl-rp.dexml.coverpages.org/xsl.html http://www.ibiblio.org/xml http://xml.apache.org/fop (procesador) http://foa.sourceforge.net (editor) http://www.alphaworks.ibm.com/tech/xfc (editor y procesador) Tecnet Consultores. Estudio de XSLT por Juan Carlos Alonso. http://www.xml.com/pub/a/2002/03/20/xsl-fo.html?page=1 37

Ejercicio: XML, XSLT (PARA EL CUADERNILLO) Un Restaurante desea automatizar sus recetarios para ello desea crear un libro de recetas (al menos cinco recetas) en XML, y debe ser presentado por lo menos de dos formas diferentes: En HTML para presentar a los clientes al llegar al local como Carta de Menú. En HTML para presentar a los eventos culinarios a los que es nominado el local dada su relevancia en este ámbito. 38