XML Extensible Markup Languaje - Universidad Politécnica de Madrid

Anuncio
XML
Extensible Markup Languaje
Lenguaje de Marcas Extendido: Aplicación en
Infraestructuras de Datos Espaciales
Un trabajo basado en: http://www.infor.uva.es/~jvegas/cursos/web/xml/ixml/ixml.html
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
1
¿Qué es XML?
• XML, Extensible Markup Languaje, es un
lenguaje de marcas capaz de estructurar
y definir la información en un documento
–
Una marca: en XML es una etiqueta que ayuda a
organizar la estructura de un documento y define
semánticamente la información que identifica
– Semántico: Que se relaciona con los significados
Información estructurada:
Títulos
Entradillas
Textos
Piés de Foto
Indices
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
2
¿Qué es XML?
• La información estructurada nos permite
distinguir entre:
– el tipo de información (palabras, imágenes, gráficos,...)
– el papel que juega dentro del documento (por ejemplo, no
es lo mismo el contenido informativo de un encabezado, que
el de un pie de página, el primero es más relevante)
• Se puede asegurar que casi todos los
documentos tienen una estructura definida
– XML nos permite identificar esas estructuras
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
3
¿Qué es XML?
A partir de ahora la palabra documento tendrá,
para nosotros, un significado adicional además de
información, palabras, imágenes, gráficos...,
tendrá una estructura reconocible
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
4
¿Qué es XML?
La novedad de XML consiste en permitir compartir
los datos a todos los niveles entre diferentes
sistemas que exigen hacerlo de manera segura,
fiable y fácil ( globalización de la información,
compatibilidad entre sistemas )
XML tiene a su alrededor otras tecnologías que la
complementan de acuerdo a campos específicos (eBussiness, Gobierno Digital, IDEs…)
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
5
Breve historia del XML
Años ´70: IBM desarrolla GML (General Makup Language)
1986: ISO lo estandariza (SGML)
1989: SGML + hiperenlaces = HTML. Comienza la web
• Cada fabricante comienza a implementar nuevas características. HTML:
Desastre. Ya no hay estandarización. Aparece W3C como garante de
estándares
1996: W3C comienza y continúa el desarrollo de XML que soluciona problemas del
HTML:
• En la programación, el contenido se mezcla con los estilos que se le quieren
aplicar
• No permite compartir información con todos los dispositivos, como pueden ser
ordenadores o teléfonos móviles
• La presentación en pantalla depende del visor que se utilice
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
6
Diferencias entre HTML y XML
HTML:
• Etiquetas fijas.
–
–
<HEAD> ... </HEAD>
<BODY> ... </BODY>
• Un nivel único de información
XML:
• Etiquetas definidas por usuario.
–
–
<ETIQ1> ... </ETIQ1>
<ETIQ2> ... </ETIQ2>
• Estructura con tantos niveles como se
desee.
<html>
<head>
<title> E.T.S.I. en Topografía, Geodesia y Cartografía (U.P.M.) Home
Page </title>
<meta NAME=GENERATOR CONTENT="Microsoft FrontPage
4.0">
<x-sas-window TOP=42 BOTTOM=621 LEFT=4 RIGHT=534>
</head>
<body TEXT="#264378" BGCOLOR="#FFFFFF" LINK="#264278"
ALINK="#FBBD6F"
VLINK="#817979" onLoad="">
<p>
<center>
<img src="gif_agc/escue.gif" width="481" height="228">
</center>
</p>
<p><center>
<table BORDER=1 CELLSPACING=1 CELLPADDING=3
WIDTH=510 align="center">
<tr>
<center>
<th COLSPAN=2 bgcolor="#AFC5D0" WIDTH=170>
<p><strong><font SIZE="+1" COLOR="#182B4D">E.U.I.T.
TOPOGRAFICA</font></strong></th></center>
<td COLSPAN=2 bgcolor="#EBE9B3" WIDTH=170>
<p><center><strong><font SIZE="+1"
COLOR="#182B4D">ALUMNOS</font></strong></center>
</td><td COLSPAN=2 bgcolor="#AFC5D0" WIDTH=170>
<p><center><strong><font SIZE="+1"
COLOR="#182B4D">OTROS</font></strong></center>
</td></tr>
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
7
Diferencias entre HTML y XML
HTML:
• Guerra de Navegadores.
– Sobrecarga de características propias
– Dificultades de portabilidad para los programadores
• No distingue entre partes de un documento
– Hay que bajar el documento completo
XML:
• Es un meta-lenguaje para describir lenguajes de marcas.
– Proporciona herramientas para definir etiquetas y jerarquías entre ellas
– El programador define el significado de cada marca para cada aplicación
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
8
¿Por qué XML?
• Creado para posibilitar la distribución de documentos con
formato/estructura a través de la Red
• Ni HTML ni SGML eran viables o prácticos para este propósito
– HTML totalmente corrompido por casas comerciales
– SGML, puede dar toda la estructuración que deseemos, pero tiene en
contra su gran complejidad
• XML no va a sustituir completamente ni a HTML, ni a SGML
– HTML es sencillo y permite dar estilo/presentación a XML
• Hasta que se afiance XSL
• Hasta que aparezcan visualizadores XML eficientes
• Mientras sigan existiendo páginas estáticas sencillas
– El SGML seguirá solucionando algunos problemas complejos
inabordables por XML
– Posible: Sistemas que implementes soluciones con gestores de la
información HTML + SGML + XML
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
9
Los 10 Mandamientos
del W3C para el XML
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
10
Los 10 Mandamientos
del W3C para el XML
1.
Los documentos XML deben distribuirse y
visualizarse por la red con la misma facilidad
que actualmente lo hacen los HTML
•
Hay que esperar a que aparezcan visualizadores tan
robustos y completos como los actuales HTML, que
nos permitan ver cómoda y adecuadamente la
estructura de árbol de los archivos XML
•
Esto era hace algún tiempo, hoy por hoy, tanto Ms IExplorer como Mozilla FireFox y los relacionados lo
hacen
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
11
Los 10 Mandamientos
del W3C para el XML
2.- Los objetivos de XML no deben centrarse
únicamente en la posibilidad de servir
información estructurada por la red, hay otras
muchas aplicaciones que pueden beneficiarse del
estándar
–
–
–
–
Búsqueda de documentos/información con un determinado
autor (También mapas, fotos, imágenes) !!!
Análisis de contenidos
Definición de patrones
Visualización gráfica de patrones expresados en XML, etc.
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
12
Los 10 Mandamientos
del W3C para el XML
3.- XML Debe ser totalmente compatible con SGML
4.- Los programas que interpreten XML deben ser
fáciles de escribir
5.- Ninguna capacidad opcional o funcionalidad sin
definir, o ambiguamente definida. Eso evitará
problemas de compatibilidad y confusiones en la
interpretación
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
13
Los 10 Mandamientos
del W3C para el XML
6.-XML debe ser legible por los humanos, de manera
que podamos leer un documento en un simple
editor de texto
7.- La especificación y diseño de XML debe
obtenerse rápidamente. Es una solución que se
requiere ya y se están haciendo muchos
esfuerzos para lograrlo
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
14
Los 10 Mandamientos
del W3C para el XML
8.- El diseño de XML debe ser formal y conciso, sin
ambigüedades, de forma que le puedan ser
aplicadas todas las técnicas modernas de diseño
de compiladores;
– esto nos permitirá comprobar que los
archivos XML que recibamos están bien
formados y libres de errores antes de
visualizarlos
Nota: XML al carecer de gran parte de la complejidad de SGML
puede describirse gramaticalmente con notación EBNF
(Extended Backus-Naur Form)
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
15
Los 10 Mandamientos
del W3C para el XML
9.- Los documentos XML han de poder crearse y
editarse fácilmente, con editores texto,
desde los lenguajes de programación (PERL,
PHP, Java, JavaScript, et...) o editores
específicos para este formato (Cooktoop,
XMLSpy, etc...)
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
16
Los 10 Mandamientos
del W3C para el XML
10.- La concisión es de mínima importancia
Muchas de las capacidades de SGML fueron puestas para
facilitar en lo posible la introducción manual de etiquetas,
para que las especificaciones fueran unívocas. XML no
soporta estas capacidades, que son la causa de gran parte
de la carga que arrastran los analizadores SGML
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
17
XML: Características
1.- Extensible
Se pueden definir nuevas etiquetas
2.- Estructurado
Se puede modelar datos a cualquier nivel de complejidad, y su definición está
en un DTD (Document Type Definition) o en XML-Schema
3.- Comprobable si es válido
Cada documento se puede validar frente a un DTD, a un esquema XML o en su
defecto, se puede declarar bien formado
4.- Independiente del medio
Para publicar contenidos en múltiples formatos
5.- Independiente del fabricante y la plataforma
Para poder utilizar cualquier herramienta estándar
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
18
XML: Documentos XML
1.- Marcado descriptivo
•
•
Las etiquetas delimitan una porción del documento y dicen lo que es
Seis tipos de etiquetas:
– elementos
– referencias a entidades
– comentarios
– instrucciones de procesamiento
– secciones de datos
–
declaraciones de tipo de documento
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
19
XML: Document Type Definition
•
Un DTD establece tanto los elementos que forman un tipo de
documento dado, como las relaciones que se dan entre ellos
•
Ej. Conjunto de reglas que definen un documento llamado correo electrónico:
<!element email
(head, body)>
<!attlist email
id ID #REQUIRED>
<!element head
(from, to+, cc*, subject)>
<!element from
(name?, address)>
<!element to
(name?, address)>
<!element cc
(name?, address)>
<!element name
(#PCDATA)>
<!element address (#PCDATA)>
<!element subject (#PCDATA)>
<!element body
(p | attach)*>
<!element p
(#PCDATA)>
<!element attach
EMPTY>
<!attlist attach
encoding (mime|binhex) "mime"
name
CDATA
#REQUIRED>
–
–
–
–
Declaración de elementos (identifican los nombres de los elementos, su contenido y las relaciones entre los
distintos elementos)
Declaración de atributos, (identifican los elementos que tienen atributos, qué atributos tendrán y cuáles son
los valores por defecto)
Declaración de entidades (permiten asociar nombres con contenidos que por ejemplo se repiten mucho:
<!entity upm "Universidad Politécnica de Madrid">)
Declaración de notación (identifican tipos específicos de datos binarios externos: <!notation GIF87A
system "gif”>)
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
20
Documentos XML válidos y bien
formados
•
•
Un documento es válido si es conforme con el DTD
Si no dispone de DTD es válido si:
•
•
•
•
1.- Están todas las etiquetas
2.- Todas las etiquetas están pareadas, excepto aquellas que
corresponden a elementos vacíos, que acaban con />
3.- Todos los valores de los atributos están entrecomillados
4.- Todas las entidades están declaradas
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
21
Ejemplos de utilización
•
•
•
•
•
•
•
•
•
* RDF, Resource Description Framework, es un marco de trabajo que
permite la codificación, intercambio y reutilización de metadatos
estructurados
* OFX, Open Financial Exchange, formato utilizado por Quichen y Microsoft
Money para comunicarse con los bancos
* CML, Chemical Markup Language, lenguaje para el intercambio de
descripción de moléculas, fórmulas y otros elementos químicos
* MML, Mathematical Markup Language, diseñado para soportar la escritura
de fórmulas matemáticas
* OSD, Open Software Distribution, de Marimba y Microsoft
* TEI, Text Encoding Initiative tiene mucha experiencia en la
estandarización de la descripción de documentos electrónicos
* GML, Geographic Makeup Language lenguaje para el intercambio de datos
geográficos
* CityGML http://www.citygml.org/
* GeoSciML http://www.cgi-iugs.org/tech_collaboration/geosciml.html
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
22
XML y Familia
XML es una familia de tecnologías:
*
*
*
*
*
*
*
*
*
*
*
XPointer, XBase y XLink describen un modo estándar de añadir hiperenlaces a un
documento XML
XPath define la sintaxis para referirse a partes de un documento XML
CSS el lenguaje de estilo de HTML se puede aplicar a XML
XSL es el lenguaje de estilo avanzado para XML, y está basado en XSLT, que es un
lenguaje de transformación que permite reordenar, añadir o eliminar etiquetas y atributos
DOM y SAX son un conjunto estándar de llamadas a funciones que permiten manipular
documentos XML (y HTML) desde programas
XML Namespaces describe cómo se puede asociar una URL con cada etiqueta y atributo de
un documento XML
XML Schemas proporcionan un modo de definir la estructura, el contenido y la semántica
de los documentos XML
XEncryption, XSignature y XSecurity tratan los aspectos de seguridad y autentificación
en el intercambio de documentos XML
XQuery proporciona un modo flexible de consulta para extraer datos de los documentos
en el Web
SOAP Estándar para empaquetar los mensajes de comunicación con Servicios Web
WSDL Estándar diseñado para que los Servicios Web puedan describir sus métodos y
parámetros (Auto-describirse)
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
23
XML y Java
XML y Java tienen características complementarias, y cuando se
utilizan juntos constituyen una plataforma muy potente para compartir
y el procesar datos y documentos
*
*
*
XML define datos y documentos de una manera abierta y neutral, pero necesita
aplicaciones que los procesen
Java ofrece un entorno de computación homogéneo con código que se puede
transportar a cualquier máquina virtual Java
XML y Java hacen posible que se puedan aplicar los principios de "escribe una
vez, ejecuta donde quieras" para procesar datos y documentos
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
24
XML: Conclusiones
*
*
*
La falta de estructura en la información en Internet incide
negativamente en las prestaciones de la red y en las
posibilidades de aprovechamiento de la información allí
depositada
XML es un lenguaje de marcado de documentos diseñado para
trabajar en Internet simple, flexible y fácil de utilizar
Hay mucho trabajo por hacer para conseguir un intercambio
automatizado de documentos en Internet que permita el
desarrollo de las aplicaciones ya existentes y de otras nuevas
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
25
XML: Referencias
*
*
*
*
*
*
*
*
*
•
WWW Consortium (W3C) [www.w3.org]
Escuela W3 [www.w3schools.com]
XML.com de O'Reilly [www.xml.com]
Especificación XML 1.0 [www.w3.org/TR/REC-xml]
Portal XML para la Industria [www.xml.org]
ebXML [www.ebxml.org]
OASIS [www.oasis-open.org]
TEI [www.tei-c.org]
Dublin Core [http://dublincore.org]
Creando Documentos Electrónicos [http://ota.ahds.ac.uk/documents/creating/]
Libro blanco Java-XML [http://java.sun.com/xml/ncfocus.html]
•
Estas transparencias están basadas fundamentalmente en un trabajo de Jesús Vegas de la U. De Valladolid, que
puede encontrarse en:
http://www.infor.uva.es/~jvegas/cursos/web/xml/ixml/ixml.html
*
Miguel A. Bernabé + Miguel A. Manso. Grupo de Trabajo MERCATOR. Universidad Politécnica de Madrid
26
Descargar