|
|
|
El Problema
Las Causas
La Solución
|
-
Internet, y el Web en concreto están suponiendo una de las grandes
revoluciones tecnológicas equiparable a la que causó el descubrimiento
de la máquina de vapor.
- Con la máquina de vapor se pudo empezar a viajar
con cierta rapidez, y esto permitió la comunicación entre la gente.
- Con Internet y el Web, la gente se puede comunicar con los demás
con cierta rapidez.
-
Ahora todos nos podemos comunicar con todos, pero no nos
entendemos:
- Internet es una red rapidísima que sólo nos permite ir a
gatas.
- La cantidad de información disponible crece exponencialmente,
pero somos incapaces de encontrar lo que buscamos.
- Cada uno entiende las cosas a su manera: demasiados idiomas,
demasiadas formas de decir lo mismo.
- HTML: HyperTex Markup Language.
- HTML es el lenguaje de publicación más exitoso jamás
inventado: es fácil de aprender.
- Es demasiado superficial: sólo describe el cómo no el qué.
- WYSIWYG: What You See Is What You Get se convierte en
"lo que ves es todo lo que tienes ".
- Los navegadores son demasiado generosos, se tragan todo lo que se
parezca a un documento HTML.
- HTML está predefinido, no se puede modificar ni adaptar a nuestras
necesidades.
- Esto hace que los servidores Web sean poco más que expendedores de
páginas; es difícil conseguir servicios Web interactivos y
flexibles.
- Es difícil saber si una página será interesante antes de
descarlaga y verla, lo que genera tráfico innecesario.
- Primero el QUÉ, luego el CÓMO.
- XML: eXtensible Markup Language.
- XML puede ser leido tanto por máquinas como por personas.
- Los documentos XML siguen unas reglas de generación sencillas
pero bien definidas que les hace fácilmente procesables.
- XML utiliza el conjunto de caracteres UNICODE, lo que facilita la
internacionalización.
- Ayuda a descongestionar Internet, ya que gran parte del
procesamiento se puede hacer en el cliente.
- Facilita encontrar lo que se está buscando: exactitud y
agilidad.
- Permite el intercambio de información sobre Internet.
|

|
XML es de Microsoft
XML extiende HTML
XML autosuficiente
XML solo para datos
|
- XML es un conspiración, pero no de Microsoft.
- XML se desarrolló por un grupo de expertos liderados por Sun con
la idea de construir una forma de SGML para su uso en el Web.
- Empresas: Sun, Hewlett-Packard, Microsoft, Netscape, Adobe y Fuji Xerox.
- Vendedores e integradores SGML: ArborText, Inso, SoftQuad, Grif,
Texcel e Isogen.
- Academia: NCSA, TEI, W3C.
- Pioneros: DataChannel, Vignette.
- Añadidos: IBM, Oracle, Omnimark.
- HTML es un lenguaje de etiquetado: conjunto estándar de
delimitadores con significado estándar.
- Existen otros lenguajes de etiquetado en la industria con
propósitos específicos:
- ATA-2100: manuales de mantenimiento de la industria aeronáutica.
- PCIS: industria de componentes semiconductores.
- DocBook: documentación software.
- Todos son similares:
- Definen conjuntos de etiquetas con significados y reglas de
composición estándares.
- Cada uno está diseñado para trabajar con un tipo concreto de
datos.
- Todos parten del estándar SGML (ISO 8879, 1986).
- SGML es un metalenguaje: un lenguaje para definir lenguajes.
- XML es una forma simplificada de SGML, no una extensión de HTML.
- XML es tan popular por que cualquier lenguaje creado con él puede
ser analizado sintácticamente por un procesador tan pequeño que puede
ser incluido en un navegador Web.
- Las etiquetas XML no tienen significado por sí mismas.
- Al contenido de un documento XML hay que añadirle el tratamiento,
ya sea mediante un programa o de forma declarativa con hojas de
estilo.
- Las hojas de estilo CSS, Cascading Style Sheets, pueden
ser utilizadas para dar forma a XML, pero no pueden transformar y
generar estructuras nuevas.
- Document Style Semantics and Specification Language,
DSSSL es adecuado para proyectos de publicación ambiciosos, pero
difícil de manejar.
- Extensible Style Language, XSL combina el poder de DSSSL
con la simplicidad de XML y el tipo de vocabulario de CSS para dar
forma a los documentos XML.
- Sintaxis legible para los humanos
- XML es texto, lo que permite que los expertos puedan depurar los
ficheros XML fácilmente con herramientas universales como el
vi.
- XML puede hacer por los datos lo que Java hace por los programas:
independencia de plataforma y de fabricante
- Publicación independiente del medio
- XML y XLS pueden reemplazar a los procesadores de texto y a los
formatos de publicación.
- Capacidad de publicar en un formato internacionalizado y capaz de
interoperar con todos los productos y todas las plataformas.
- Los fabricantes de software cambiarán a formatos estándares y
abiertos cuando los usuarios veamos sus ventajas y los
demandemos.
|

|
Características de XML
Documentos XML
DTD
Docs. Válidos
Estilo
Ejemplos
|
- XML es un subconjunto simplificado pero estricto de SGML
(Standard Generalized Markup Language):
- Extensible: se pueden definir nuevas etiquetas.
- Estructurado: se puede modelar datos a cualquier nivel de
complejidad, y su definición está en una DTD,
Document Type Definition.
- Validable: cada documento se puede validar frente a una DTD, o en
su defecto, se puede declarar bien formado.
- Independiente de medio: para publicar contenidos en múltiples
formatos.
- Independiente de fabricante y de plataforma: para poder utilizar
cualquier herramienta estándar.
- XML es fácil de aprender y de usar.
- Los documentos XML son fácilmente procesables y
compartidos en Internet.
- XML no es compatible con HTML, pero los documentos HTMLv4.0 son
fácilmente convertibles a XML.
- Marcado descriptivo: las etiquetas delimitan una porción del
documento y dicen lo que es.
- Ejemplo: un correo electrónico
<?xml version="1.0" ?>
<!doctype email system "http://www.sitio.es/DTDs/email.dtd">
<email id="E1X108">
<head>
<from>
<name>Jesús Vegas</name>
<address>jvegas@infor.uva.es</address>
</from>
<to>
<name>Fulanito</name>
<address>fulanito@unsitio.es</address>
</to>
<subject>Introducción a XML</subject>
</head>
<body>
<p>Este es el guión de la conferencia sobre XML.
Mira a ver qué te parece. Saludos, jvegas.</p>
<attach encoding="mime" name="ixml.html" />
</body>
</email>
- Los documentos comienzan con la instrucción de procesamiento
<?xml version="1.0" ?> que los identifican como
documentos XML.
- Luego puede venir una identificación del tipo de documento en
cuestión, la DTD.
- Existen seis tipos de etiquetas: elementos, referencias a
entidades, comentarios, instrucciones de procesamiento, secciones de
datos y declaraciones de tipo de documento.
- elementos: están delimitados por ángulos e identifican el
contenido que delimitan. Pueden tener atributos.
<elemento atributo="valor">
- referencias a entidades: se utilizan para
referirse a caracteres no presentes en el teclado
(&x2311;),
a texto que se repite o que varía frecuentemente o para
incluir ficheros externos.
- < produce el angulo de menor, <
- > produce el angulo de mayor, >
- & produce el ampersand, &
- ' produce el apóstrofe, '
- " produce las comillas, "
- comentarios: Se pueden colocar en cualquier parte de
un documento y no forman parte del texto, no se pasan a la aplicación.
<!-- comentarios varios -->
- instrucciones de procesamiento: son un modo de
pasar información a la aplicación que ha de tratarle desde el mismo
fichero XML. El parser no la trata.
<?nombre datos ?>
- secciones de datos: indica al parser que ignore
el contenido de la sección.
<![CDATA[ if (x < 12) hacerEsto();]]>
- Una DTD establece tanto los elementos que forman un tipo de
documento dado, como las relaciones que se dan entre ellos.
- El conjunto de reglas que define los documentos del tipo correo
electrónico puede ser el siguiente, escrito en el fichero
www.sitio.es/DTDs/email.dtd:
<!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>
- Existen cuatro tipos de declaraciones: tipos de elemento, listas
de atributos, entidades y de notación:
- Una DTD puede estar en la misma máquina que el documento asociado
o en otra distinta.
- Un documento XML puede estár distribuido a lo largo de varios
ficheros:
<!doctype libro system "libro.dtd"
[
<!entity indice system "indice.xml">
<!entity cap1 system "capitulos/cap1.xml">
<!entity cap2 system "capitulos/cap2.xml">
]>
<libro>
<cabecera>
&indice;
</cabecera>
<cuerpo>
&cap1;
&cap2;
</cuerpo>
</libro>
- Un documento es válido si es conforme con la DTD.
- Los documentos pueden ser validados fácilmente por
parsers (existen muchos y son fácilmente programables debido a
la naturaleza arborescente de la estructura de los documentos
XML).
- Si no se dispone de DTD, se puede calificar el documento como
bien formado si cumple las siguientes condiciones:
- Están todas las etiquetas.
- Todas las etiquetas están pareadas, excepto aquellas que
corresponden a elementos vacíos, que acaban con /> .
- Todos los valores de los atributos están entrecomillados.
- Todas las entidades están declaradas.
- Los navegadores son muy tolerantes con la calidad de
etiquetado de los documentos HTML, aunque esto impide un procesamiento
adecuado de los mismos (hogeneidad en la presentación, buscar, etc,
etc..).
- Es fácil saber si un documento XML es válido, o en ausencia
de DTD, o si está bien formado, y procesarle adecuadamente o
desecharle en otro caso.
- No todo el mundo está obligado a escribir sus propios DTDs, se
pueden utilizar DTDs creados por otros (TEI).
- XML no da pistas sobre el modo de mostar cada elemento de
información.
- Esto es una ventaja: "escribir una vez y publicar donde
sea".
- XSL eXtensible Stylesheet Language permite transformar el
documento para mostrarlo de la manera adecuada.
- También se pueden aplicar las hojas de estilo propias de HTML: CSS
Cascade StyleSheets.
- Utilizar CSS cuando se pueda, y XSL cuando se deba.
© W3 consortium
- 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.
- Sus esquemas son complejos y requieren cierta experiencia en el
tema para su utilización.
- DC, Dublin Core, es capaz de describir la mayoría de los
recursos disponibles en Internet.
- Es muy fácil de usar y de interpretar.
- Está compuesto por 13 elementos extensibles: Subject,
title, author, publisher, etc.
|

|
Familia XML
XML y Java
|
- 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.
- XML y Java tienen características complementarias, y cuando se
utilizan juntos constituyen una plataforma muy potente para la
compartición y el procesamiento de 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.
|

|
|
- 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.
|

|
|
|

|
|
© Jesús Vegas Hernández
Dpto. Informática
Universidad de Valladolid
jvegas@infor.uva.es
Julio 2001
|
|