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



Documentos relacionados
Fundamentos de las tecnologías de la información

M. Carmen Fernández Panadero

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

Validación de un XML

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

XML Namespaces. Sergio Luján Mora.

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

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

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

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

extensible Markup Language (XML)

Transformación de documentos XML con

Ingeniería de Aplicaciones Web

Visualización y Transformaciones en XML

Transformación de documentos : XSLT

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

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

Tabla de Contenidos. xii

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

Análisis de esquemas XML [1]

XML-Schema. XML-Schema. Espacios de Nombre. W3C XML Schema intenta superar las limitaciones de las DTDs con respecto a ellos

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

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

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

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

XML. Escuela Técnica Superior de Ingeniería de Telecomunicación Universidad Rey Juan Carlos. Marzo de gsyc-profes (arroba) gsyc.urjc.

XML Schema. Sergio Luján Mora.

Aplicaciones Web. Primer cuatrimestre de Diego C. Martínez DCIC - UNS 1. Introducción. Planificación general. Objetivos. Diego C.

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

XSL: extensible Style Language. Anabel Fraga

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

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

IIC Tópicos Avanzados en Bases de Datos. Una introducción a XML

Datos Estadísticos y el Lenguaje XML

Creación de documentos XML

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

Topicos Avanzados de Bases de Datos en la Web

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

Introducción a XQuery Autor: Jorge Huedo Díaz Master Oficial en Tegnologías de la Información y Sistemas Informáticos

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.

Guía de auto-aprendizaje en SDMX n. 3 Mensajes SDMX-ML Test

XML-Schema. XML-Schema. XML-Schema. XML-Schema. Ventajas de XML-Schema con respecto a las DTD s:

Análisis y Diseño de Sistemas de

Universidad de las Illes Balears Guía docente

5.1 Introducción a XSL

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

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

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

Primeros pasos con XML y XSL Ricardo Borillo Domenech

1 Introducción a XML

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

Práctica 4 Manejo avanzado de Bison

ESQUEMAS INTRODUCCION A LA VALIDACIÓN DE DOCUMENTOS MEDIANTE ESQUEMAS. 7.3 Partes importantes de los esquemas Repeticiones de elementos

BOLETÍN OFICIAL DEL ESTADO

1º ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

XML para FP : Introducción

XML. María Consuelo Franky. Universidad Javeriana 2009

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

XML. Necesitamos un formato de datos: Posibles usos. Estandard Robusto Extensible

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

Tema 4 Metadatos. Eduardo Martínez Graciá Humberto Martínez Barberá

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

Clase # 3 - Modelo Semiestructurado y XML. Modelo de Datos Semiestructurado HTML vs. XML Sintaxis básica de XML DTD y XML-Schema

Introducción a XML. Taller de Producción de Software 2º Semestre 2008 H.Astudillo / P.Inostroza

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

Requisitos para la generación de Xml válido

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

Trabajo Practico Tema: XML

Taller de <?XML> Prof. Hilda Contreras. Departamento de Computación Escuela de Ingeniería de Sistemas ULA

Índice. HTML HyperText Markup Language. Conceptos básicos. Qué es HTML? Diseño de servicios Web HTML 1

Introducción a HL7. Meeting HL7 Colombia. A/S Lucia Grundel. Analista de Sistemas OpenDICOM Montevideo Uruguay Marzo 2010

procesamientodedatosconjava modalidadteleformación 210horas completamentegratuito

Presentacion de Declaraciones Juradas de Retenciones de Sellos. <Cuit> </Cuit> Etiqueta de Apertura

XML (Extensible Markup Language)

Introducción a la Web 2.0

PLATAFORMA DE INTEROPERABILIDAD, PDI INTRANET GUBERNAMENTAL República de Colombia - Derechos Reservados

Recomendaciones para la elaboración de extensiones del formato Facturae

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

APÉNDICE A GML s. A.1 Alemanes. A.1.1 Esquema Feature.xsd. Apéndice A: GML s

Práctica de introducción a

Definición de XQuery.

Tecnología Multimedia

Recepción de Documento Electrónico

TEMA 5 LA FAMILIA XML EN LA NUEVA WEB

MARCO DE REFERENCIA PARA LA GESTIÓN DE TI EN EL ESTADO COLOMBIANO

Qué es XML? XML (extensible Markup Language) Lenguaje de tags (similar en sintaxis a HTML) Estandarizado por el W3C (

INTERPRETACION DE DOCUMENTOS HTML VIA RDF SCHEMA

Departamento de Informática Tributaria Subdirección General de Aplicaciones de Aduanas e II.EE. C/ Santa María Magdalena 16, Madrid

XML: Reglas Básicas de Formación

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Tema 3.1: Principios de diseño web accesibles

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

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

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

<xs:import namespace=" schemalocation="

Introducción a XML Tecnólogo en Informática. Ing. Montserrat López -

UNIVERSITAT OBERTA DE CATALUNYA

Servicios Web para el control de publicación de anuncios de notificación en el Tablón Edictal Único

XML SUMARIOS: BOE Sumario del BOE Metainformación. Elemento <meta> Información del diario. Elemento <diario>

extensible Markup Language

Transcripción:

XML XML es el lenguaje de marcado extensible. (extensible Markup Language) Es extensible porque los tags son definibles por el usuario Es la evolución de SGML: Standar Generalized Markup Language. Es la base de la interoperabilidad de muchos sistemas. Es el estándar para muchas tecnologías web (Ajax, Servicios web, etc) Es una recomendación de la W3C desde 1998. La idea central detrás de XML es proveer una forma de estructurar información general, con independiencia de la plataforma. Facilita intercambio, procesamiento, claridad de datos. <producto> <nombre> Flatron L17 </nombre> <descripcion> Monitor LCD de 17 pulgadas. </descripcion> </producto> <contacto> <nombre> Juan Perugia </nombre> <telefono tipo= cel >12345678</telefono> <telefono tipo= oficina >42346</telefono> </contacto> Para evitar colisiones de tags namespaces Colección de vocabularios Diego C. Martínez - DCIC-UNS 10 XML - validez Un documento XML es bien formado si sigue las reglas del estándar XML. Un documento XML es válido si es contrastado exitosamente contra un conjunto de reglas estructurales, especificadas en un documento DTD Document Type Definition, o Un XSD - XML Schema Definitions. Estos documentos dicen cómo es la estructura correcta del documento XML. Define el tipo de dato. DTD Document Type Definition XML Schema Descripción simple de qué elementos y atributos pueden existir en el XML NO utiliza la misma sintaxis que XML. Simple, pero con algunas limitaciones. e.g, no es posible restringir valores a enteros. Descripción de qué elementos y atributos pueden existir en el XML XSD y XML se almacenan separados Más poderoso que DTD, pero más complejo. e.g, es posible definir tipos numéricos con subrangos, o el orden de los elementos dentro de un nodo. Utiliza la misma sintaxis que XML Diego C. Martínez - DCIC-UNS 12

DTD- Document Type Definition Definición DTD: <!DOCTYPE nombre_nodo_raiz definiciones > <!ELEMENT elemento specif_contenido> <!ELEMENT apellido (#PCDATA)> <!ELEMENT contacto (nombre,telefono,direccion)> <!ELEMENT vehiculo (patente numidentificacion)> <!ELEMENT img EMPTY> <!ELEMENT descripcion ANY> <!ELEMENT subseccion (#PCDATA)> <!ELEMENT seccion (#PCDATA subseccion)> Puede incluirse en el mismo XML, o referenciar otro recurso. <!DOCTYPE nombre_nodo_raiz recurso >? = cero o uno, * = cero o muchos, + = uno o muchos <!ELEMENT articulo (titulo?, (parrafo+, grafico)*)> <!ATTLIST elemento atributo tipo defauldecl> <!ATTLIST contacto telefono (cel oficina casa)> <!ATTLIST mensaje prioridad (urgente normal) normal> <!ATTLIST producto oferta (si no) #REQUIRED> <!ATTLIST mensaje firma CDATA #IMPLIED> <!ATTLIST texto idioma CDATA> XSD XML Schema Definitions Al ser un documento XML, la estructura del XSD es previsible. Utiliza tags especiales con el prefijo xs: <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="libro"> <xs:complextype> <xs:sequence> <xs:element name="titulo" type="xs:string"/> <xs:element name="autor" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Define varios tipos de datos básicos para los elementos del XML: xs:string xs:decimal xs:integer xs:boolean xs:date xs:time xs:anyuri <xs:element name="autor" type="xs:string"/> <xs:element name="precio" type="xs:decimal"/> Diego C. Martínez - DCIC-UNS 13 Diego C. Martínez - DCIC-UNS 14 XSD - Ejemplos <xs:element name="edad"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="120"/> </xs:restriction> </xs:simpletype> </xs:element> <xs:element name="auto" type="tipoauto"/> <xs:simpletype name="tipoauto"> <xs:restriction base="xs:string"> <xs:enumeration value="chevrolet"/> <xs:enumeration value="vw"/> <xs:enumeration value="nissan"/> </xs:restriction> </xs:simpletype> XSD Ejemplos <xs:complextype name="direccion"> <xs:sequence> <xs:element name="calle" type="xs:string"/> <xs:element name="ciudad" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:complextype name="direccionarg"> <xs:complexcontent> <xs:extension base="direccion"> <xs:sequence> <xs:element name="provincia" type="xs:string"/> <xs:element name="codigopostal" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> Diego C. Martínez - DCIC-UNS 15 Diego C. Martínez - DCIC-UNS 16

XSD Ejemplos <xs:element name= listaenteros type= tipolistaenteros > <xs:simpletype name="tipolistaenteros"> <xs:list itemtype="xs:integer"/> </xs:simpletype> XSD Ejemplos <xsd:group name="direccion"> <xsd:sequence> <xsd:element name="calle" /> <xsd:element name="ciudad" /> <xsd:element name="provincia" /> <xsd:element name="cp" /> </xsd:sequence> </xsd:group> <listaenteros>343 1231 9 7654</listaEnteros> <xsd:element name="alumno"> <xsd:sequence> <xsd:element name="nombre" type="xsd:string" /> <xsd:element name="apellido" type="xsd:string" /> <xsd:group ref="direccion" /> <xsd:element name="libreta" type="xsd:integer" />... </xsd:sequence> </xsd:element> Diego C. Martínez - DCIC-UNS 17 Diego C. Martínez - DCIC-UNS 18 XPath XPath es un lenguaje para referenciar partes de un documento XML. Fuertemente relacionado con otros estándares como XSLT, XQuery y XPointer http://www.w3.org/tr/xpath/ Utiliza una sintaxis simple que permite integrarlo en otras tecnologías XPath modela un documento XML como un árbol de nodos. nodos elemento nodos atributo nodos texto comentarios instrucciones de procesado Relaciona strings (paths) con nodos del árbol del documento XML agenda contacto agenda/contacto/nombre Se pueden referenciar nodos individuales o grupos de nodos. XPath agenda contacto nombre telefono telefono Juan 123456 456789 agenda/contacto/telefono agenda/contacto/telefono[1] agenda /agenda nombre telefono telefono Juan 123456 456789 Diego C. Martínez - DCIC-UNS 19 Diego C. Martínez - DCIC-UNS 20

Xpath- expresiones Una expresión en Xpath es evaluada a un objeto, que puede ser un conjunto de nodos un booleano un número un string Expresión Significado / Referencia desde el nodo raíz /nodox Encontrar el nodo raíz llamado nodox //elementoa Seleccionar los nodos desde el nodo actual, cualquiera sea el path. El nodo actual.. El padre del nodo actual @atribn Selecciona el atributo atribn del nodo actual elemento[n] elemento[@atribn] elemento[@atribn='valorn'] text() Selecciona el elemento N-ésimo Selecciona los elementos que tengan el atributo atribn Selecciona los elementos cuyo valor de atributo atribn sea valorn Selecciona el texto del elemento actual Diego C. Martínez - DCIC-UNS 21 Xpath- expresiones <title>saludo</title> <p>hola</p> <p>mundo</p> <div><p>texto1</p></div> <div><p>texto2</p></div> <div><div><div> Texto3 </div></div></div> html/head/title html/head/title/text() /html/body/p[2] /html//p /html//p[1] //div //div[1] div/div /div/div //div/div[2] head title Diego C. Martínez - DCIC-UNS 22 html Saludo Hola Mundo body p p div div div //p/text() //div/../p p p div Texto1 //div/../../../../p //div/../p[1]/text() Texto2 div Texto3 Xpath- expresiones Otras expresiones interesantes: /libro/articulo[5]/seccion[3] libro/*/apellido //div[@class='noticia']/p[@class='encabezado']/div //div[last()] /stock/producto[@tipo='oferta' and precio<50] table[@border and @style] //div[@*] count(//div[@tipo='post']) //table/@class //graduado[@univ= UNS ] XSLT XPath es integrado en otros estándares de la W3C, entre ellos principalmente XSLT -extensible Stylesheet Language Transformation. Es un lenguaje de reglas de transformación, escrito en XML. Permite transformar un documento XML en otro documento de formato diferente, como HTML, PDF, SVG, RTF, Ascii plano, etc. Mucho más poderoso que CSS. Le otorga mayor universalidad al XML. <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:template>... </xsl:template> <xsl:template>... </xsl:template> </xsl:stylesheet> Identifica un patrón dentro del XML para aplicarle una transformación. Usa XPath. Diego C. Martínez - DCIC-UNS 23 Diego C. Martínez - DCIC-UNS 24

XSLT tags comunes <xs:stylesheet> Tag raíz del documento stylesheet <xs:template name= nombre match= patron > Define reglas que se aplican cuando un nodo coincide con el patrón indicado <xs:value-of select= patron > Extrae el valor del nodo que coincide con el patrón indicado <xs:attribute> Agrega atributos a un elemento <xs:text> Contiene texto que es tomado literalmente. <xs:for-each select= patron > Cicla entre los elementos que son identificados por coincidencia con el patrón indicado XSL - ejemplo Una forma simple de trabajar con XSLT <films> <titulo>et</titulo> <estreno>1982</estreno> <titulo>piranha</titulo> <estreno>1978</estreno> <titulo>platoon</titulo> <estreno>1986</estreno> </films> fill-in-the-blanks <xsl:stylesheet version="1.0" xmlns:xsl="..."> <xsl:template match="/"> <title>peliculas!</title> <table class= pelis > <tr> <td> <xs:value-of select= films/film/titulo > <td> <xs:value-of select= films/film/estreno > </tr> <xs:if test= condicion > Alternativa entre transformaciones a aplicar a continuación Diego C. Martínez - DCIC-UNS 25 </table> Diego C. Martínez - DCIC-UNS 26 XSL - ejemplo XSL - ejemplo Una forma simple de trabajar con XSLT fill-in-the-blanks Una forma simple de trabajar con XSLT fill-in-the-blanks <films> <titulo>et</titulo> <estreno>1982</estreno> <titulo>piranha</titulo> <estreno>1978</estreno> <titulo>platoon</titulo> <estreno>1986</estreno> </films> <xsl:stylesheet version="1.0" xmlns:xsl="..."> <xsl:template match="/"> <title>peliculas!</title> <table class= pelis > <xsl:for-each select="films/film"> <tr> <td> <xsl:value-of select="titulo"/> <td> <xsl:value-of select="estreno"/> </tr> </xsl:for-each> <films> <titulo>et</titulo> <estreno>1982</estreno> <titulo>piranha</titulo> <estreno>1978</estreno> <titulo>platoon</titulo> <estreno>1986</estreno> </films> <xsl:stylesheet version="1.0" xmlns:xsl="..."> <xsl:template match="/"> <title>peliculas!</title> <table class= pelis > <xsl:for-each select="films/film"> <tr><td> <xsl:value-of select="titulo"/> <td> <xsl:value-of select="estreno"/> <xsl:if test="oscar"> <td><img src="oscar.jpg"> </xsl:if> </tr> </xsl:for-each> </table> </table> Diego C. Martínez - DCIC-UNS 27 Diego C. Martínez - DCIC-UNS 28

XSL - ejemplo Una forma simple de trabajar con XSLT fill-in-the-blanks <films> <titulo>et</titulo> <estreno>1982</estreno> <titulo>piranha</titulo> <estreno>1978</estreno> <titulo>platoon</titulo> <estreno>1986</estreno> </films> <xsl:stylesheet version="1.0" xmlns:xsl="..."> <xsl:template match="/"> <title>peliculas!</title> <table class= pelis > <xsl:for-each select="films/film"> <tr><td><xsl:value-of select="titulo"/> <td><xsl:value-of select="estreno"/> <xsl:choose> <xsl:when test="oscar"> <td><img src= oscar.jpg> </xsl:when> <xsl:otherwise> <td>nada! </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> Diego C. Martínez - DCIC-UNS 29