Title: XML Extensible Markup Languaje
1XMLExtensible Markup Languaje
- Un lenguaje de marcas de aplicación en las
Infraestructuras de Datos Espaciales - Un trabajo basado en http//www.infor.uva.es/jve
gas/cursos/web/xml/ixml/ixml.html
2Qué 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 T
extos Piés de Foto Indices
3Qué 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.
4Qué es XML?
- A partir de ahora la palabra documento tendrá
para nosotros un significado añadido, además de
información, palabras, imágenes, gráficos...,
tendrá una estructura reconocible
5Qué 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
(e-Bussiness, Gobierno Digital, IDEs)
6Breve 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
carácterí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.
7Diferencias entre HTML y XML
lthtmlgt ltheadgt lttitlegt E.U.I.T.Topografica
(U.P.M.) Home Page lt/titlegt ltmeta
NAMEGENERATOR CONTENT"Microsoft FrontPage
4.0"gt ltx-sas-window TOP42 BOTTOM621 LEFT4
RIGHT534gt lt/headgt ltbody TEXT"264378"
BGCOLOR"FFFFFF" LINK"264278"
ALINK"FBBD6F" VLINK"817979" onLoad""gt ltpgt
ltcentergt ltimg src"gif_agc/escue.gif"
width"481" height"228"gt lt/centergt lt/pgt ltpgtltc
entergt lttable BORDER1 CELLSPACING1
CELLPADDING3 WIDTH510 align"center"gt lttrgt
ltcentergt ltth COLSPAN2 bgcolor"AFC5D0"
WIDTH170gt ltpgtltstronggtltfont SIZE"1"
COLOR"182B4D"gtE.U.I.T.
TOPOGRAFICAlt/fontgtlt/stronggtlt/thgtlt/centergt
lttd COLSPAN2 bgcolor"EBE9B3" WIDTH170gt
ltpgtltcentergtltstronggtltfont SIZE"1"
COLOR"182B4D"gtALUMNOSlt/fontgtlt/stronggtlt/centergt
lt/tdgtlttd COLSPAN2 bgcolor"AFC5D0"
WIDTH170gt ltpgtltcentergtltstronggtltfont
SIZE"1" COLOR"182B4D"gtOTROSlt/fontgtlt/s
tronggtlt/centergt lt/tdgtlt/trgt
- HTML
- Etiquetas fijas.
- ltHEADgt ... lt/HEADgt
- ltBODYgt ... lt/BODYgt
- Un nivel único de información
- XML
- Etiquetas definidas por usuario.
- ltETIQ1gt ... lt/ETIQ1gt
- ltETIQ2gt ... lt/ETIQ2gt
- Estructura con tantos niveles como se deséen.
8Diferencias entre HTML y XML
- HTML
- Guerra de Navegadores.
- Incorporación de filigranas
- 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 semánticamente cada marca
para cada aplicación
9Por qué XML?
- Creado para posibilitar la distribución de
documentos con formato/estructuración a través de
la Red, - Ni HTML ni SGML eran viables ni 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 para dar formato/presentación a
XML - Hasta que se afiance el 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
10Los 10 Mandamientos del W3C para el XML
Yo soy W3C y te entrego Estos 10 Mandamientos
Gracias en nombre de la Cartografía
11Los 10 Mandamientos del W3C para el XML
- 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.
12Los 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.
13Los 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.
14Los 10 Mandamientos del W3C para el XML
- 6.-XML debe ser legible para 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.
15Los 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).
16Los 10 Mandamientos del W3C para el XML
- 9.- Los documentos XML han de poder crearse y
editarse fácilmente, con editores texto, PERL o
editores específicos para este formato.
17Los 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.
18XML 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 una DTD,
Document Type Definition . - 3.- Validable.
- Cada documento se puede validar frente a una DTD,
o en su defecto, se puede declarar bien formado - 4.- Independiente del medio.
- Para publicar contenidos en múltiples formatos
- 5.- Independiente de fabricante y plataforma.
- Para poder utilizar cualquier herramienta
estándar
19XML 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 y
- declaraciones de tipo de documento
20XML Document Type Definition
- Una 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 - lt!element email (head, body)gt
- lt!attlist email id ID REQUIREDgt
- lt!element head (from, to, cc, subject)gt
- lt!element from (name?, address)gt
- lt!element to (name?, address)gt
- lt!element cc (name?, address)gt
- lt!element name (PCDATA)gt
- lt!element address (PCDATA)gt
- lt!element subject (PCDATA)gt
- lt!element body (p attach)gt
- lt!element p (PCDATA)gt
- lt!element attach EMPTYgt
- lt!attlist attach encoding (mimebinhex) "mime"
- name CDATA
REQUIREDgt - 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 lt!entity upm "Universidad Politécnica de
Madrid"gt)
21Documentos XML válidos y bien formados
- Un documento es válido si es conforme con la 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 /gt - 3.- Todos los valores de los atributos están
entrecomillados. - 4.- Todas las entidades están declaradas
22Ejemplos 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.
23XML y Familia
- XML es una familia de tecnologías. El estándar
define qué son las etiquetas y los atributos,
pero alrededor están creciendo una serie de
módulos que proporcionan etiquetas, atributos y
guías para realizar tareas específicas - XPointer, XBase y XLink describen un modo
extándar de añadir hiperenlaces a un documento
XML. - XPath define la sistaxis 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
elimitar 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.
24XML 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.
25XML 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.
26XML 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/ncf
ocus.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/ixm
l/ixml.html