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



Documentos relacionados
XMLNode y XMLDocument en el aula

Leer XML con XMLReader en el aula

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

Transformación de documentos XML con

XSL: extensible Style Language. Anabel Fraga

XUpdate para el acceso a bases de datos XML nativas.

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

Transformación de documentos : XSLT

5.1 Introducción a XSL

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

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

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

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

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

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

1 Introducción a XML

Práctica 5: Oracle XML DB

Capítulo 1 Documentos HTML5

Análisis de esquemas XML [1]

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Manual de NVU Capítulo 5: Las hojas de estilo

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

PowerPoint 2010 Modificar el diseño de las diapositivas

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

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Curso de PHP con MySQL Gratis

Unidad 1. Introducción a HTML (I)

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

PHP y MySQL. Indice: Switch Bucles For While do...while

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

NOTAS TÉCNICAS SOBRE EL SIT: Comunicados (I)

Tema: Maquetación Web y CSS

WebServices Parte 2 XML

Modulo 1 El lenguaje Java

Gestión de Retales WhitePaper Noviembre de 2009

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

ESOFT 3 Nice Screen Scraper: A simple scraper

Diseño de páginas web 2011

Manual de usuario de Cambio de Nombre de Diseños Industriales

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

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

Manual de rol gestor de GAV para moodle 2.5

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

Bases de datos en Excel

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

Capí tulo IV. Lenguajes de estilo

Ajustes del Curso en egela (Moodle 2.5)

GUÍA RED SOCIAL FACEBOOK

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES

5.- ANÁLISIS DE RIESGO

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

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

Kaldeera Advanced Forms 2009 Guía del usuario

Ampliación de Estructuras de Datos

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

DISEÑO DE FUNCIONES (TRATAMIENTOS)

1. DML. Las subconsultas

MANUAL DE INSTRUCCIONES PARA LOS USUARIOS DEL CONTROL DE PRESENCIA

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

Introducción a la Computación TFA

RemitePIN: Nuevo procedimiento de firma electrónica para las aplicaciones de captura de las Oficinas Virtuales de Coordinación Financiera.

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Mantenimiento Limpieza

EJERCICIOS DEL TEMA 1

Ficheros Electrónicos

Manual de adminitración web

Pruebas de nivel. Introducción. 1. Componentes Un CD con los archivos de texto en formato pdf de:

Práctica de introducción a

Charla N 6: Utilidades de Consulta de datos.

trámite, organización, consulta, conservación y disposición final de los documentos

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

Sitio Web de U.S.I.M.R.A. Requisitos mínimos de la máquina

QUÉ ACTIVIDADES PODEMOS HABILITAR EN EL CAMPUS VIRTUAL?

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

EUSKADI PRECIOS NDICE. 1 Definiciones: Base de Precios, Estructura, Precios paramétricos, Precios descompuestos, ámbitos

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

GUÍA BREVE DE ACCESIBILIDAD EN DOCUMENTOS PDF

Sección de Introducción.

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

Árboles AVL. Laboratorio de Programación II

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Buscadores basados en agentes inteligentes

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

CREACIÓN Y CONFIGURACIÓN DE WIKIS

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MANUAL DE USUARIO CONSEJO PUEBLA DE LECTURA A.C. Instituto Nacional de Astrofísica, Óptica y Electrónica. 01/Octubre/2009

Nº de expediente: TSI Subprograma: Avanza Competitividad I+D+I

V Manual de Portafirmas V.2.3.1

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Centro de Capacitación en Informática

GVisualPDA Módulo de Almacén

Las Marcas Geográficas de Google Earth para actividades en el aula.

Microsoft Access 2007 (Completo)

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Transcripción:

Hojas de Estilos XSLT en el aula Nieves Carralero Colmenar I.E.S Ramón y Cajal. Albacete ncarralero@jccm.es Resumen Según la Orden EDU/2887/2010, de 2 de noviembre, por la que se establece el currículo del ciclo formativo de Grado Superior correspondiente al título de Técnico Superior en Desarrollo de Aplicaciones Web, se define un módulo con título: Módulo Profesional: Lenguajes de marcas y sistemas de gestión de información. En él se pretende hacer una aproximación al trabajo con XSLT como pieza clave en el desarrollo de aplicaciones Web. 1. INTRODUCCIÓN A XSLT XSLT es la más importante parte del estándar XSL. Esta parte es usada para transformar un documento XML en otro documento XML o de otro tipo que sea reconocible por un browser, como HTML o XHTML. Normalmente es usado en aplicaciones Web para transformar XML en (X)HTML y dar formato personalizado a los datos. XSLT puede añadir nuevos elementos a un fichero de salida, o eliminar elementos que no sean necesarios. Puede cambiar y ordenar los elementos e incluso tomar decisiones sobre qué elementos se deben visualizar. Una imagen que esquematiza los elementos participantes es la siguiente: Nº 30 Agosto 2011 1/11

XSLT usa XPath [XML6] para definir el mapeo entre las transformaciones. En resumen, XPath define que partes de un documento que encajan (match) con una o más plantillas (templates). Cuando una coincidencia es encontrada, XSLT transforma la parte coincidente en el documento fuente en el documento resultado. Las partes del documento fuente que no encajan con una plantilla no son incluidos en el documento resultado. Declarando una hoja de Estilos (Style sheet) El elemento raíz que declara que un documento es una hoja de estilos es <xsl:stylesheet> or <xsl:transform>. Ambos son sinónimos y pueden ser usados. El camino correcto para declarar una hoja de estilos según la recomendación del W3C XSLT es la siguiente: <xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/xsl/transform">or : <xsl:transform version="1.0"xmlns:xsl="http://www.w3.org/1999/xsl/transform"> xmlns:xsl="http://www.w3.org/1999/xsl/transform" identifica el espacio de nombres de la recomendación W3C XSL. Si se usa este espacio de nombres también se debe incluir el atributo version= 1.0 Las siguientes prácticas se realizarán con el ejemplo Books.xml que se muestra a continuación y que ha sido usado en previas publicaciones [XML2][XML3][XML4][XML5]: Observar que con el atributo href= xslbook.xsl se hace referencia a que sobre ese documento XML se aplicará una plantilla llamada xslbook.xsl. Los ejemplos Nº 30 Agosto 2011 2/11

que se ponen a continuación se llamarán xslbook.xsl para poder ser aplicados sobre este documento XML. 2. XSLT EJEMPLO INICIAL. La siguiente figura muestra un ejemplo (xslbookp1.xsl) de documento XSL para convertir un documento XML (Books.xml) en un documento HTML que visualiza los datos como una tabla. El resultado se aplicar esta plantilla sobre el Book.XML es la siguiente interpretación de HTML: 3. LAS PARTES COM EJEMPLOS Definición de una plantilla El elemento <xsl:template> contiene la reglas que se aplicarán cuando se encuentra un nodo coincidente. El atributo match es usado para asociar la Nº 30 Agosto 2011 3/11

plantilla con un elemento XML. Este atributo puede también ser usado para definir una plantilla para una rama de un documento XML. Así, por ejemplo, match= / define el documento entero. Mostremos un ejemplo de declaración de una plantilla que no hace nada. El elemento <xsl:value-of> Este elemento es usado para seleccionar el valor de un elemento XML y añadirlo a la salida de la transformación. El valor del atributo select es una expresión XPath como las vistas anteriormente. Es decir, que obtiene los elementos seleccionados navegando en el documento fuente. Un ejemplo de inclusión de la etiqueta value-of es mostrada a continuación. El resultado de aplicar esta hoja de estilos nos devuelve únicamente un titulo y un autor. Para poder añadir todos los títulos y autores se debe incluir un elemento que hace las funciones de bucle. Nº 30 Agosto 2011 4/11

El elemento <xsl:for-each> Este elemento es usado para seleccionar todos los elementos XML de un nodo o conjunto de nodos. Este hace las funciones de bucle que se repite para cada instancia encontrada de un nodo. El siguiente ejemplo muestra la salida de todos los títulos y autores del documento XML. La salida después de aplicar esta plantilla es: Nº 30 Agosto 2011 5/11

Filtrar elementos: Para filtrar los elementos deseados se usa la sintaxis de XPath para filtrar con la cláusula <xsl:for each>. Los operadores de filtrado que siguen el estándar son los siguientes: = (equal)!= (distinto) < menor que > mayor que El siguiente ejemplo muestra los elementos cuyo autor es Kevin Burton.Es ejemplo no tiene código asociado. Nº 30 Agosto 2011 6/11

La salida después de aplicar esta plantilla es: Ordenación. Se puede ordenar la salida de los elementos seleccionados por la plantilla. Esto se hace añadiendo un elemento xsl:sort dentro del elemento for-each. El siguiente ejemplo muestra la salida ordenada por un nuevo elemento que es Publisher. Con el atributo select se indica el elemento sobre el que se ordenará. Nº 30 Agosto 2011 7/11

Condicionales Se pueden usar condicionales dentro del documento para seleccionar que se quiere mostrar en la salida. Para poner una condicional simplemente hay que añadir la etiqueta <xsl:if> al documento. El valor del atributo test contiene la expresión que se desea evaluar. El siguiente ejemplo muestra únicamente los elementos que tiene un número de páginas = 1088 Condicionales compuestos Para poder establecer condicionales del estilo switch de C, se utiliza el elemento <xsl:choose> <xsl:when>..<xsl:otherwise>. El siguiente ejemplo muestra su utilización. Nº 30 Agosto 2011 8/11

Hasta ahora todas las hojas de estilo que hemos visto incluían una única plantilla que se aplicaba al elemento raíz de documento. XSL también permite utilizar varias plantillas en una hoja de estilos. Esto es necesario por dos razones. Primero, permite ordenar la lógica de presentación del contenido del documento, haciendo más sencilla su modificación. Segundo, permite utilizar expresiones XPath para aplicar diferentes formatos a los datos XML dependiendo de su valor. Cuando una hoja de estilos contiene varias plantillas se utiliza una lógica de presentación con el comando <xsl:apply-templates>. Normalmente se utiliza una plantilla de nivel superior para procesar el documento como un todo y se utiliza el comando apply-templates para procesar los elementos dentro del ámbito de la plantilla de nivel superior. Nº 30 Agosto 2011 9/11

Si se utiliza el atributo select entonces se aplica la plantilla a los hijos que encajen con el valor de atributo. El atributo select se suele utilizar para indicar en que orden los elementos son procesados. El siguiente ejemplo muestra su utilización. Aplica diferentes plantillas a los libros con título Title[.='C# Design Patterns'] y a los Publisher. Como ha podido observarse en el estudio de los ejemplo previos, generar plantillas XSLT necesita un entorno que permita fácilmente comprobar la corrección de la salida obtenida. Hay varios entorno para este propósito. Uno de ellos es <Oxygen/> (www.oxygenxml.com) que facilita la depuración de plantillas en un entorno fácil de manejar. 5. BIBLIOGRAFÍA Nº 30 Agosto 2011 10/11

[XML desde.net]: http://zarza.usal.es/~fgarcia/docencia/poo/04-05/trabajos/xml.net.pdf [.NET] Framework: http://msdn.microsoft.com/en-us/magazine/cc302158.aspx [XML tutorial]: http://www.programacion.net/html/xml/ [XML2] Leer XML con XMLTextReader en el aula. Nº 26. MARZO 2011. [XML3] XMLNode y XMLDocument en el aula. Nº 27. ABRIL 2011. [XML4] Escribiendo XMLTextWriter en el aula. Nº 27. ABRIL 2011. [XML5] XMLDocument en el aula. Nº 28. MAYO 2011. [XML6] XPath en el aula. Nº 31. AGOSTO 2011. Director: José Ángel Ruiz Felipe Jefe de publicaciones: Antero Soria Luján D.L.: AB 293-2001 ISSN: 1578-326x Nº 30 Agosto 2011 11/11