1 Introducción a XML



Documentos relacionados
5.1 Introducción a XSL

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.

extensible Markup Language

2 Estructura de un Documento XML

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Práctica de introducción a

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

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

Fundamentos de las tecnologías de la información

M. Carmen Fernández Panadero

MANUAL DE USUARIO INTRANET

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.

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

ESOFT 3 Nice Screen Scraper: A simple scraper

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

Unidad 1. Introducción a HTML (I)

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

Programa. Conceptos básicos: variables, valores y objetos predefinidos, operadores, etc. etc. Callbacks, eval(), etc.

PREGUNTAS TIPO (EXAMEN DE OFIMÁTICA AVANZADA)

Capítulo 1 Documentos HTML5

Software Criptográfico FNMT-RCM

extensible Markup Language (XML)

Transformación de documentos XML con

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Introducción al desarrollo web (idesweb)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

PASOS PARA CREAR UNA PÁGINA WEB

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

UNIDAD DIDÁCTICA Nº 7 USO DE LOS RECURSOS EN MOODLE

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

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Los servicios más comunes son como por ejemplo; el correo electrónico, la conexión remota, la transferencia de ficheros, noticias, etc.

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

Scripts de arranque. Pablo Sanz Mercado.

GUÍA BÁSICA USUARIO MOODLE 2.6

Introducción a la extensión de scripting en gvsig 2.0

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

FeriaOnline.com C/Llamaquique Nº 4 Tfno: Oviedo mail: info@feriaonline.com Url:

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

CIERRE EJERCICIO CON BECONTA

Curso de PHP con MySQL Gratis

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.

9. Composer: Bugs y consejos.

DOCUMENTACIÓN TÉCNICA

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

Práctica 4 Manejo avanzado de Bison

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

DEPÓSITO DIGITAL D2 (para ejercicios iniciados a partir del 01/01/2008) Manual de usuario

Web. Web Diapositiva 1

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

Kaldeera Advanced Forms 2009 Guía del usuario

INSTALACION DE UN SERVIDOR LOCAL CON EasyPHP

CREACIÓN Y CONFIGURACIÓN DE WIKIS

Direcciones IP y máscaras de red

15 CORREO WEB CORREO WEB

Instalación de las Voces de Expansión en Tyros 4PT23

1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.

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

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

UF1302 Creación de páginas web con lenguajes de marcas

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

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

MANUAL DE CS-ALMACENES (MAYO 2012)

para jóvenes programadores

Capitulo VI. Conclusiones.

hay alguien ahi? por Marcelino Alvarez

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Análisis y Diseño de Sistemas de

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS

MANUAL DE FORMULARIOS WEB. Informazio Zerbitzua Servicio de Información

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

Combinar correspondencia (I)

Manual del Usuario. Portal Web Para uso exclusivo de Ministros de Estado.

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

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

LiLa Portal Guía para profesores

Internet Information Server

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

COMO FUNCIONA INTERNET

MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS

GMAIL (avanzado) 1. Accede a la web de Gmail, Te destacamos las funcionalidades que vamos a enseñarte a. 2. Vamos a enseñarte a:

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

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

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

Análisis de esquemas XML [1]

CRECE CON INTERNET. Empieza a navegar por la Red

Transcripción:

1 Introducción a XML Introducción (I)! Qué es XML?! Últimamente todo el mundo habla sobre XML!! Dicen que es un lenguaje etiquetado...es decir: Es un lenguaje como HTML, pero con nuevas etiquetas?! Dicen que con XML se facilita la transmisión de datos... es un protocolo?! Es un lenguaje de programación? 2001 Borja Sotomayor 1

Introducción (II)! Respuesta a esas tres preguntas: NO! XML no es exactamente un lenguaje etiquetado (es un metalenguaje). No es un lenguaje como HTML con una serie de etiquetas predefinidas (<body>, <table>, etc.)! XML no es un protocolo.! XML no es un lenguaje de programación. Ni puede ejecutarse ni puede obtenerse código ejecutable a partir del XML.! Pero entonces... Qué es??? Introducción (III)! XML es un metalenguaje etiquetado.! Un lenguaje para crear nuevos lenguajes! Los lenguajes que permite crear son lenguajes etiquetados (p.ej. HTML es un lenguaje etiquetado)! Con XML podemos crear fácilmente nuevos lenguajes etiquetados a medida. A estos nuevos lenguajes se les suele llamar:! Dialecto XML! Aplicación XML 2001 Borja Sotomayor 2

Introducción (IV)! Para que sirven los dialectos XML? Nos permiten almacenar datos utilizando un lenguaje etiquetado.! Por qué deberíamos molestarnos en utilizar un lenguaje etiquetado para almacenar nuestros datos? Si quiero almacenar datos sobre unas listas de distribución, podría hacerlo con una sintaxis ad hoc de la siguiente manera: [ESIDE-TIM] (Lista de TiM) 1jolopez@rigel.deusto.es 3jugonza@rigel.deusto.es [AMIGOS] (Lista de amigos) colegui@mixmail.com compi@hotmail.com amiguete@wanadoo.es Documento de Texto Formato inventado (ad hoc) Por qué debería hacerlo con un lenguaje etiquetado? <listas> <lista nombre= ESIDE-TIM desc= Lista de TiM > <subs mail= 1jolopez@rigel.deusto.es /> <subs mail= 3jugonza@rigel.deusto.es /> </lista> <lista nombre= AMIGOS desc= Lista de amigos > <subs mail= colegui@mixmail.com /> <subs mail= compi@hotmail.com /> <subs mail= amiguete@wanadoo.es /> </lista> </listas> XML 2001 Borja Sotomayor 3

Introducción (V)! Por qué? " XML es un lenguaje prácticamente estándar. Es muy fácil acceder a los datos contenidos en documentos XML (independientemente del dialecto que hayamos creado) puesto que existe mucho software para leer (parsear) documentos XML.! Si utilizamos un formato ad hoc (o no estándar), solamente nosotros podemos leer nuestro documento.! Si utilizamos XML, será muy fácil intercambiar documentos. Introducción (VI)! Además, si nuestros datos están almacenados en XML (en un dialecto XML), podremos realizar muchas operaciones que son posibles con XML:! Transformaciones! Estilos! Procesar el documento a través de un modelo de objetos.! Etc. 2001 Borja Sotomayor 4

Introducción (VII)! Ojo! XML es un lenguaje orientado al contenido. A diferencia de una etiqueta HTML (<h1>, por ejemplo) una etiqueta XML no se visualiza de ninguna manera especial.! No tendremos más remedio que aplicar estilos o transformaciones. Introducción (VII)! Las dos preguntas del millón:! Cómo distinguimos entre un documento XML y un documento que no es XML? " well-formedness! Cómo definimos los dialectos? " validity 2001 Borja Sotomayor 5

Well-Formedness (I)! Para que un documento XML sea considerado como tal tiene que cumplir las rígidas normas de sintaxis de XML.! Cuando un documento cumple estas normas de sintaxis, se dice que está bien formado (well formed document)! Si no, resultará imposible parsearlo. Well-Formedness (II)! En XML una etiqueta empieza por el símbolo menor que < y termina con el símbolo mayor que >! Justo después del símbolo < se encuentra el nombre de la etiqueta. <listas> <lista> <subs> 2001 Borja Sotomayor 6

Well-Formedness (III)! Hay dos tipos de etiquetas:! Non-Empty o contenedora : Contienen algo. Tiene que haber una etiqueta de comienzo y una etiqueta de fin. En la etiqueta de fin, el símbolo < siempre va seguido del símbolo / <lista>...... </lista> Well-Formedness (IV)! Empty o singular: No contienen nada. El símbolo > debe ir siempre precedido del símbolo / <subs mail= compi@hotmail.com /> También se admite la forma: <subs mail= compi@hotmail.com ></subs> 2001 Borja Sotomayor 7

Well-Formedness (V)! Las etiquetas pueden tener atributos. Estos atributos indican opciones de la etiqueta. <subs mail= compi@hotmail.com />! Los atributos tienen la siguiente sintaxis: nombre_atributo= valor Well-Formedness (VI)! Si hay mas de un atributo, tienen que ir separados por espacios.! Si la etiqueta es contenedora, los atributos sólo se escriben en la etiqueta de comienzo. 2001 Borja Sotomayor 8

Well-Formedness (VII)! Toda etiqueta de comienzo debe tener etiqueta de fin.! Las etiquetas no deben solaparse.! Debe haber una única etiqueta en la raíz del documento (<listas>).! Los valores de los atributos deben ir entre comillas (dobles o simples)! Una etiqueta no puede tener dos atributos con el mismo nombre. Validity (I)! Cualquier fichero que esté bien formado es parseable y puede considerarse un documento XML.! Podemos acceder a el desde un modelo de objetos.! Podemos aplicarle estilos.! Podemos aplicarle transformaciones.! Sin embargo, a veces nos puede interesar definir formalmente el dialecto XML, para comprobar que el documento no sólo está bien formado, sino que además cumple las reglas de ese dialecto. 2001 Borja Sotomayor 9

<listas> <lista nombre= ESIDE-TIM desc= Lista de TiM > <subs mail= 1jolopez@rigel.deusto.es /> <subs mail= 3jugonza@rigel.deusto.es /> </lista> <lista nombre= AMIGOS desc= Lista de amigos > <subs mail= colegui@mixmail.com /> <subs mail= compi@hotmail.com /> <subs mail= amiguete@wanadoo.es /> </lista> </listas> Normas del Dialecto ListaML Hay tres tipos de etiquetas listas (contenedora) RAIZ lista (contenedora) Atributo nombre (texto) Atributo desc (texto) subs (singular) Atributo mail (texto) Listas puede contener 0 o más etiquetas lista Lista puede contener 0 o más etiquetas subs Está bien formado? Si Es válido? Si No No Validity (II)! El documento anterior es válido? SI " Cumple todas las normas del dialecto.! Y el siguiente? <listas> <subs mail= 1jolopez@rigel.deusto.es /> </listas>! NO " listas no puede contener subs. Solo puede contener lista. 2001 Borja Sotomayor 10

Validity (III)! A esta recopilación de normas que definen cómo debe ser el documento se le llama el DTD.! Document Type Definition! Se compone con una sintaxis concreta.! El DTD de este documento sería: Validity (IV) <!ELEMENT lista (subs*)> <!ATTLIST lista nombre CDATA #REQUIRED desc CDATA #REQUIRED > <!ELEMENT listas (lista*)> <!ELEMENT subs EMPTY> <!ATTLIST subs mail CDATA #REQUIRED > 2001 Borja Sotomayor 11

Validity (V)! Además, antes de que empiece el documento XML, hay que insertar la siguiente línea: <!DOCTYPE listas SYSTEM "listaml.dtd">! El elemento raiz es listas! El dtd está almacenado en el fichero listaml.dtd (que reside en el mismo directorio que el documento XML) Validity (VI)! Con el <!DOCTYPE> le indicamos al parseador de XML que, si quiere comprobar la validez del fichero, tiene que hacerlo utilizando el DTD que le indicamos ahí. 2001 Borja Sotomayor 12

Tecnologías XML (I)! XSLT: extensible Style Sheet Transforms. Permite transformar un documento XML en otro documento XML de otro dialecto, o en otro formato distinto.! XSL-FO: extensible Style Sheet Formatting Objects. Permite aplicarle formato a un documento XML. Tecnologías XML (II)! XPath: (Muy relacionado con XSLT) Permite referencias partes de un documento XML.! XLink: Enlaces en documentos XML.! DOM: Document Object Model. API orientada a objetos para acceder al contenido de un documento XML. 2001 Borja Sotomayor 13

Tecnologías XML (III)! SAX: Simple API for XML. API orientada a eventos para acceder al contenido de un documento. Aplicaciones (I)! Y todo esto el XML... Para que sirve?! Aunque no lo parezca, poder almacenar nuestros datos en un formato! Portable! Extensible! Fácilmente accesible desde lenguajes de programación (ya tenemos APIs). es una gran ventaja. 2001 Borja Sotomayor 14

Aplicaciones (II)! Es como almacenar nuestros datos en el Esperanto de Internet. Podemos intercambiarlos fácilmente.! Es un formato universal de datos. La plataforma.net de Microsoft utiliza XML exhaustivamente para el intercambio de datos.! Además, podemos utilizar toda la gama existente de tecnologías XML, sobre todo las transformaciones.! Con XSLT es muy fácil transformar un documento XML de un dialecto a otro, o a un formato no-xml si queremos. Documento XML <alumno dni="12345678" nombre="fulanito" apellidos="pí"> <titulacion nombre="filología ARAMEA" cod="123-4"> <asignaturas curso="3"> <asignatura nombre="fonología ARAMEA II" cal="8" /> <asignatura nombre="literatura PERSA III" cal="6" /> <asignatura nombre="introducción A LA LINGUISTICA" cal="9" /> <asignatura nombre="pronunciación" cal="7" /> </asignaturas> </titulacion> </alumno> Transformación Transformación Transformación Mot 2000 El alumno FULANITO PÍ, de 3er curso de FILOLOGÍA ARAMEA, ha obtenido las siguientes calificaciones: FONOLOGÍA ARAMEA II (8) LITERATURA PERSA III (6) Navegador de Internet Base de Datos Procesador de Textos 2001 Borja Sotomayor 15

Dialectos XML Existentes (I)! SMIL: Synchronized Multimedia Integration Language! SVG: Scalable Vector Graphics! CML: Chemical Markup Language! MathML: Mathematical Markup Language! XHTML: extensible Hypertext Markup Language Dialectos XML Existentes (II)! SOAP: Simple Object Access Protocol 2001 Borja Sotomayor 16