|
|
Introducción a XML (Extensible Markup Language)
Resumen: HTML (Hypertex Markup Language) se ha convertido en un lenguaje de marcas de inmensa popularidad durante estos últimos años. También debemos anotar que nos hemos encontrado con sus propias limitaciones, que algunas de ellas se han querido subsanar con la incrustación de scripts, javascripts, Active X, HTML dinámico, hojas de estilo en cascada (CSS). Todo esto es insuficiente para crear una arquitectura abierta de tipo cliente/servidor, con lo que el W3C (Word Wide Web Consortium), organismo que vela por el desarrollo de la Word Wide Web, se ha replanteado crear un nuevo estándar llamado XML (eXtensible Markup Language), que parte de las amplias especificaciones del SGML (Standard Generalized Markup Language ) es el estándar internacional para la definición de la estructura y el contenido de diferentes tipos de documentos electrónicos. XML fue desarrollándose por el Grupo de Trabajo XML desde 1996 (en estos primeros años llamado SGML Editorial Review Board). La especificación XML 1.0 ha sido ratificada por la W3C el 10 de febrero de 1998, e interpretado como "un sistema para definir, validar y compartir formatos de documentos en la Web".
543 visitas |
Rating: 
Tell a Friend
|
Autor: ACS Sergio Daniel Caballero
Indice
1. Introduccion
2. Desarrollo
3. Bibliografía
1. Introducción
HTML (Hypertex Markup Language) se ha convertido en un lenguaje de marcas
deinmensa popularidad durante estos últimos años. También debemos anotar quenos
hemos encontrado con sus propias limitaciones, que algunas de ellas se
hanquerido subsanar con la incrustación de scripts, javascripts, Active X,
HTMLdinámico, hojas de estilo en cascada (CSS). Todo esto es insuficiente
paracrear una arquitectura abierta de tipo cliente/servidor, con lo que el W3C
(WordWide Web Consortium), organismo que vela por el desarrollo de la Word Wide
Web,se ha replanteado crear un nuevo estándar llamado XML (eXtensible
MarkupLanguage), que parte de las amplias especificaciones del SGML
(StandardGeneralized Markup Language ) es el estándar internacional para la
definiciónde la estructura y el contenido de diferentes tipos de documentos
electrónicos.XML fue desarrollándose por el Grupo de Trabajo XML desde 1996 (en
estosprimeros años llamado SGML Editorial Review Board). La especificación XML
1.0ha sido ratificada por la W3C el 10 de febrero de 1998, e interpretado
como"un sistema para definir, validar y compartir formatos de documentos en
laWeb".
En el Futuro y actual presente de la red está en el comercio electrónico yen
el uso de tecnologías de telefonía IP, WAP y UMTS. Ante este futuro y yapresente
que puede también permanecer incierto, cuento menos en sus momentosiniciales,
están comenzando a surgir lenguajes alguno de ellos propios adeterminada
tecnología como el WML y WMLScript con la telefonía movil WAP.
2. Desarrollo
¿Qué es XML?.
Concepto:
XML es un lenguaje de metamarcado que ofrece un formato para la descripción
dedatos estructurados. Esto facilita unas declaraciones de contenido más
precisasy unos resultados de búsquedas más significativos en varias plataformas.
Además,XML habilitará una nueva generación de aplicaciones para ver y manipular
datosbasadas en el Web.
Representación estructural de los datos:
XML ofrece una representación estructural de los datos que se puede
implementarampliamente y es fácil de distribuir. XML es un subconjunto de SGML
optimizadopara el Web. Definido por el World Wide Web Consortium (W3C) (en
inglés),XML garantiza que los datos estructurados sean uniformes e
independientes deaplicaciones o fabricantes. La interoperabilidad resultante
está creando rápidamenteuna nueva generación de aplicaciones de comercio
electrónico en la Web.
XML, que proporciona un estándar de datos que puede codificar el contenido,
lasemántica y los esquemas de una gran variedad de casos, desde los más simplesa
los más complejos, sirve para marcar lo siguiente:
- Un documento normal.
- Un registro estructurado, como un registro de citas o un pedido de
compra.
- Un objeto con datos y métodos, como el formulario permanente de un
objeto Java o de un control ActiveX.
- Un registro de datos, como el conjunto de resultados de una consulta.
- Metacontenido sobre un sitio Web, como el formato de definición de canal
(CDF).
- Representaciones gráficas, como la interfaz de usuario de una
aplicación.
- Entidades y tipos de esquema estándar.
- Todos los vínculos entre datos y personas que hay en el Web.
Cuando los datos llegan al escritorio del cliente, se pueden manipular,editar
y presentar en varias vistas, sin tener que regresar al servidor. Ahoralos
servidores pueden ser más escalables, gracias a la reducción de las cargasde
ancho de banda y computación. Además, dado que los datos se intercambian enel
formato XML, se pueden combinar fácilmente desde distintas fuentes.
XML es muy valioso para Internet, así como para los entornos de
intranetscorporativas de gran tamaño, pues proporciona interoperabilidad
mediante unformato basado en estándares flexible y abierto, con formas nuevas de
acceso alas bases de datos existentes y de entregar datos a clientes de Web.
Lasaplicaciones se pueden generar más rápidamente, su mantenimiento es
mássencillo y pueden ofrecer fácilmente varias vistas de los datos
estructurados.
En un principio, no rivalizarán HTML y XML, estos se complementarán el uno
alotro, anudándose ambas gramáticas. Este Lenguaje de marcas extensible (XML)
esuna versión abreviada del SGML (Standard Generalized Markup Language).
Algunos de los objetivos planteados por el Grupo de Trabajo XML y el W3C son:
- XML debe ser directamente utilizable sobre Internet.
- XML debe soportar una amplia variedad de aplicaciones.
- XML debe ser compatible con SGML.
- Debe ser fácil la escritura de programas que procesen documentos XML.
- El número de características opcionales en XML debe ser absolutamente
mínimo, idealmente cero.
- Los documentos XML deben ser legibles por los usuarios de este lenguaje
y razonablemente claros.
- El diseño de XML debe ser formal, conciso y preparado rápidamente.
- Los documentos XML deben ser fácilmente creables.
- La brevedad en las marcas XML es de mínima importancia.
A estos fines se le une unos estándares como el Unicode e ISO/IEC 10646
paracaracteres, el Internet RCF 1766 para identificación de lenguajes, ISO 639
paracódigos de nombres de lenguajes y también el ISO 3166 para códigos de
nombresde países, para la normal comprensión de esta versión de XML.
Tampoco tenemos que equivocarnos y pensar que el XML es un HTML .
Tanto el XML como el HTML tienen su base en el SGML. Es decir, es unmetalenguaje
que nos permite definir lenguajes para definir la estructura y elcontenido de
nuestros documentos. La definición de la estructura y el contenidode un tipo de
documento se realiza en una DTD. En ella definimos los elementosque conformarán
ese tipo de documentos y como tienen que estar organizados paraque sea correcto.
Un ejemplo de DTD es por ejemplo la que define cómo tendrán que ser
losdocumentos HTML. Por tanto, el HTML no es más que un tipo de documento SGML
quese utiliza en la Web, y esto es importante, ya que aquí radica su
principaldiferencia con el XML.
El XML no es ningún tipo de documento SGML, sino que es una versión abreviadade
SGML optimizada para su utilización en Internet. Esto significa que con élvamos
a poder definir nuestros propios tipos de documentos (podremos definirnuestras
propias etiquetas) y, por tanto, ya no dependeremos de un único einflexible tipo
de documento HTML.
Diferencia entre el SGML, XML y HTML
El XML más que un HTML hay que considerarlo como un SGML-- optimizado para
suutilización en Internet. Como escribió Richard Ligth en su libro PresentigXML,
"XML ofrece el 80% de las ventajas del SGML con un 20% de sucomplejidad". Y es
que los diseñadores de XML intentaron dejar fuera sóloaquellas partes que
raramente se utilizan. Esta reducción resultó ser muyimportante: la
especificación XML ocupa aproximadamente 30 páginas, frente alas 500 del SGML.
Estructura de XML.
Un documento XML tiene dos estructuras, una lógica y otra física. Físicamente,el
documento está compuesto por unidades llamadas entidades. Una entidad puedehacer
referencia a otra entidad, causando que esta se incluya en el documento.Cada
documento comienza con una entidad documento, también llamada raíz.
Lógicamente,el documento está compuesto de declaraciones, elementos,
comentarios,referencias a caracteres e instrucciones de procesamiento, todos los
cuales estánindicados por una marca explícita. Las estructuras lógica y física
debenencajar de manera adecuada:
Los documentos XML se dividen en dos grupos, documentos bien formados
ydocumentos válidos.
Un objeto textual o documento XML se dice que está bien formado si,
considerándolocomo conjunto, encaja con las especificaciones XML de producción,
lo queimplica:
- Contiene uno o más elementos.
- Hay exactamente un elemento, llamado raíz o elemento documento, de forma
que ninguna parte del mismo aparece en el contenido de ningún otro elemento.
Para todos los demás elementos, si la etiqueta inicial está en el contenido
de otro elemento, la etiqueta final forma parte del contenido del mismo
elemento. Dicho de forma más clara, los elementos, delimitados por una
etiqueta de inicio y otra de final, se encuentran anidados correctamente.
- Cumple todas las restricciones que proporciona su especificación a
través del DTD.Si no se utiliza DTD, el documento debe comenzar con un
Declaración de Documento único (SDD, Standalone Document Declaration) que
indique:
<?XML version="1.0" standalone="yes"?>
- Cada una de sus partes procesadas esta bien formada.
- Todas las etiquetas deben estar balanceadas: esto es, todos los
elementos que contengan datos de tipo carácter deben tener etiquetas de
principio y fin (no está permitida la omisión excepto para los elementos
vacíos.);
- Todos los valores de los atributos deben ir entrecomillados (el carácter
comilla simple [el apóstrofe] puede utilizarse si el valor contiene
caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza '
y "
- Cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final
como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con '/>' o debes
hacerlos no VACÍOS añadiéndoles una etiqueta de fin;
Ejemplo: <BR> se convertirá en <BR/> o en <BR></BR>.
- No debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse
como < y &), y la secuencia ]]> debe darse como ]]> si no ocurre
esto como final de una sección marcada como CDATA;
- Los elementos deben anidar dentro de sí sus propiedades (no se deben
sobreponer etiquetas, como en el resto de SGML);
- Los Archivos bien-formados sin-DTD pueden utilizar atributos en sus
elementos, pero éstos deben ser todos del tipo CDATA, por defecto.
De un documento bien formado, se dice además que es válido, si tiene DTDcomo
el resto de aplicaciones SGML. Un archivo XML válido comienza comocualquier otro
archivo SGML, con una Declaración de Tipo de Documento:
<?xml version="1.0"?>
<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">
<anuncio>
<titulo>...<foto/>...</titulo>
<texto>...</texto>
</anuncio>
Dado que XML está diseñado para ser un subconjunto de SGML, cualquierdocumento
XML válido debe ser también un documento SGML válido.
Estructuras lógicas.
Cada documento XML contiene uno o más elementos, cuyos limites estándelimitados
por etiquetas de comienzo y de final o, en el caso de elementos vacíos,por una
etiqueta de elemento vacío.
Cada elemento tiene un tipo, identificado por un nombre, denominadoidentificador
genérico, y puede tener un conjunto de especificaciones deatributos.
Cada especificación de atributo tiene un nombre y un valor.
Estasespecificaciones no restringen la semántica, el uso o (mas allá de
lasintaxis) los nombres de los tipos de los elementos y los atributos, excepto
delos nombres que comienzan por XML, que se reservan para estandarizar etiquetas
oatributos en versiones posteriores del estándar.
Estructuras físicas.
Un documento XML puede consistir en una o más unidades de almacenamientovirtual,
llamadas entidades. Todas estas unidades tienen contenido y todas ellas(excepto
la entidad documento y el subconjunto externo del DTD) estánidentificadas por un
nombre. Cada documento XML contiene una entidad, llamadaentidad documento, que
sirve como punto de comienzo para el procesador XML ypuede contener el documento
completo.
Como hemos comentado, las entidades pueden ser analizadas o sin
analizar(también llamadas procesadas o sin procesar). El contenido de una
entidadanalizada se conoce también como texto de reemplazo, y es parte
integrante deldocumento. Las entidades no analizadas son recursos (tales como
enlaces) cuyocontenido puede o no ser texto, o en caso de que sea texto que no
sea XML. Cadaentidad no asociada tiene una notación asociada, identificada por
un nombre.Aparte de obligar al procesador XML a haga accesible a la aplicación
el nombrede esta notación y sus identificadores asociados, XML no proporciona
ningunaotra restricción sobre el contenido de estas entidades. La forma de
invocarambos tipos de entidades es a través de su nombre, en el caso de las
analizadasa través de su referencia a entidad y en el de las no analizadas a
través desus atributos de entidad.
Las entidades generales, son entidades analizadas que se usan en el
interiordel documento. Las entidades parametrizadas son entidades analizadas que
se usanen el ámbito del DTD. Estos dos tipos de entidades usan distintos tipos
dereferencias y se reconocen en contextos distintos.
XML consta de cuatro especificaciones (el propio XML sienta las bases
sintácticasy el alcance de su implementación):
- DTD (Document Type Definition): Definición del tipo de documento. Es, en
general, un archivo(s) que encierra una definición formal de un tipo de
documento y, a la vez, especifica la estructura lógica de cada documento.
Define tanto los elementos de una página como sus atributos. El DTD del XML
es opcional. En tareas sencillas no es necesario construir una DTD, entonces
se trataría de un documento "bien formado" (well-formed) y si lleva DTD será
un documento "validado" (valid).
- XSL (eXtensible Stylesheet Language): Define o implementa el lenguaje de
estilo de los documentos escritos para XML. Desde el verano de 1997 varias
empresas informáticas como Arbortext, Microsoft e Inso vienen trabajando en
una propuesta de XSL (antes llamado "xml-style") que presentaron a W3C.
Permite modificar el aspecto de un documento. Se puede lograr múltiple
columnas, texto girado, orden de visualización de los datos de una tabla,
múltiples tipos de letra con amplia variedad en los tamaños. Este estándar
está basado en el lenguaje de semántica y especificación de estilo de
documento (DSSSL, Document Style Semantics and Specification Language,
ISO/IEC 10179) y, por otro lado, se considera más potente que las hojas de
estilo en cascada (CSS, Cascading Style Sheets), usado en un principio con
el lenguaje DHTML. "Se espera que el CSS sea usado para visualizar simples
estructuras de documentos XML (actualmente se ha conseguido mayor
integración en XML con el protocolo CSS2 (Cascading Style Sheets, level 2)
ofreciendo nuevas formas de composición y una más rápida visualización) y,
por otra parte, XSL pueda ser utilizado donde se requiera más potencia de
diseño como documentos XML que encierran datos estructurados (tablas,
organigramas, etc.)(2)".
- XLL (eXtensible Linking Language): Define el modo de enlace entre
diferentes enlaces. Se considera que es un subconjunto de HyTime
(Hipermedia/Timed-based structuring Language o Lenguaje de estructuración
Hipermedia/basado en el tiempo, ISO 10744) y sigue algunas especificaciones
del TEI (Text Encoding Initiative o Iniciativa de codificación de texto).
Desde marzo de 1998 el W3C trabajo en los enlaces y direccionamientos del
XML. Provisionalmente se le renombró como Xlink y a partir de junio se le
nombra como XLL. Este lenguaje de enlaces extensible tiene dos importantes
componentes: Xlink y el Xpointer. Va más allá de los enlaces simples que
sólo soporta el HTML. Se podrá implementar con enlaces extendidos. Jon Bosak
establece los siguientes mecanismos hipertextuales que soportará esta
especificación:
- Denominación independiente de la ubicación.
- Enlaces que pueden ser también bidirecccionales.
- Enlaces que pueden especificarse y gestionarse desde fuera del documento
a los que se apliquen (Esto permitirá crear en un entorno intranet/extranet
un banco de datos de enlaces en los que se puede gestionar y actualizar
automáticamente. No habrá más errores del tipo "404 Not Found").
- Hiperenlaces múltiples (anillos, múltiples ventanas, etc.).
- Enlaces agrupados (múltiples orígenes).
- Transclusión (el documento destino al que apunta el enlace aparece como
parte integrante del documento origen del enlace).
- Se pueden aplicar atributos a los enlaces (tipos de enlaces).
- XUA (XML User Agent): Estandarización de navegadores XML. Todavía está
en proceso de creación de borradores de trabajo. Se aplicará a los
navegadores para que compartan todos las especificaciones XML.
Aplicaciones de XML.
Algunas de las aplicaciones de XML son:
- Ofrecer mecanismos más versátiles de mostrar datos. Actualmente, bajo el
nombre de DOM (Document Object Model) se está desarrollando una API que sea
soportada por todos los procesadores de XML y HTML. La idea detrás de esta
API es que podamos representar (a través de javascripts o JavaApplets)
documentos XML en los navegadores Web, pero de una forma más sofisticada que
los documentos HTML, ya que XML no solo proporciona una sintaxis, sino
también una semántica.
- Buscadores inteligentes. Debido a que la información en los documentos
XML está etiquetada por su significado de forma precisa, podemos localizarla
de forma mucho más clara que en documentos HTML. Con DTDs estandarizados
para distintas aplicaciones (librerías, tiendas de deporte, catálogos de
componentes,…) podríamos programar buscadores Web que recuperasen
información sobre un producto de cualquier website en el mundo sabiendo que
todos tendrán el mismo formato de datos (gracias al DTD), aunque no tengan
necesariamente la misma representación gráfica (gracias al XML/XSL).
- Intercambio de información entre sistemas heterogéneos. El fundamento es
el mismo que para los buscadores inteligentes. Debido a que el DTD
proporciona un formato estándar para representar la información de un tema
específico, puede usarse para simplificar el intercambio de información
entre distintas fuentes (actualmente existen ya dos DTD estandarizados uno
para fabricantes de chips y otro para industrias químicas, llamado CML).
Ventajas de XML.
- Los autores y proveedores pueden diseñar sus propios tipos de documentos
usando XML, en vez de limitarse a HTML. Los tipos de documentos pueden ser
explícitamente 'hechos a la medida de una audiencia', por lo que las
difíciles manipulaciones que debes hacer con HTML para conseguir efectos
especiales serán cosa del pasado: autores y diseñadores serán libres de
inventar sus propias etiquetas;
- 7La información contenida puede ser más 'rica' y fácil de usar, porque
las habilidades hipertextuales de XML son mayores que las de HTML.
- XML puede dar más y mejores facilidades para la representación en los
visualizadores.
- Elimina muchas de las complejidades de SGML, en favor de la flexibilidad
del modelo, con lo que la escritura de programas para manejar XML será más
sencilla que haciendo el mismo trabajo en SGML.
- La información será más accesible y reutilizable, porque la flexibilidad
de las etiquetas de XML pueden utilizarse sin tener que amoldarse a reglas
específicas de un fabricante, como es el caso de HTML.
- Los archivos XML válidos son válidos también en SGML, luego pueden
utilizarse también fuera de la Web, en un entorno SGML (una vez la
especificación sea estable y el software SGML la adopte).
Desarrollo de aplicaciones con XML
Existen cuatro tipos de aplicaciones que impulsarán el desarrollo del XML:
Aplicaciones que exijan que el cliente Web medie entre dos o más bases dedatos.
Se hará posible la integración de bases de datos distribuidas en losnavegadores
que admitan XML, pudiéndose modificar el contenido y la estructurade esta.
Actualmente implantado en amplias redes nacionales, sin embargo, selimitan las
posibilidades al establecerse una intranet/extranet y con ampliasbases de datos
que sólo permiten la visualización de los datos en elnavegador. XML establecerá
una arquitectura de 3 niveles (three-tier) que estárepresentada de la siguiente
manera:
- Se irá pareciendo cada vez más a una arquitectura cliente-servidor.
- Aplicaciones que intentan transferir una parte significativa de la carga
del proceso del servidor al cliente Web. Funcionará con un subprograma Java
que se insertará en el PC del cliente. Esta carga hará que muchas de las
funciones de modificación puedan desarrollarse desde el mismo navegador Web
del cliente. Por ejemplo, dentro de una intranet con una aplicación de
gestión bibliotecaria sobre los documentos disponibles en el centro
bibliotecario. Se establecerán categorías específicas como los datos de la
ficha catalográfica, fecha de préstamo, fecha de devolución, nombre del
usuario, número de registro, etc. Todos estos ítems se pueden agrupar por
categorías y estarán descritos externamente desde los "esquemas" (schemas) o
los RDF del XML. Permite actualizarse en el acto y con la posibilidad
interactiva por parte del usuario en el pedido, gestión y modificación de
documentos desde su lejano navegador. El lado más negativo es que se
necesitará mayor ancho de banda y mayor potencia del procesador del equipo
para poder soportar esta arquitectura de tres-niveles.
- Aplicaciones que precisen que el cliente Web presente diferentes
versiones de los mismos datos a diferentes usuarios. Se podría aplicar un
manual de diferentes grados (iniciación, intermedio y avanzado) con sus
diferentes idiomas, etcétera. Esto hará que este manual se pueda
personalizar por los usuarios y extraer la información requerida de un
capítulo determinado, con una ordenación y formatos concretos.
- Aplicaciones en las que agentes Web inteligentes intentan adaptar la
búsqueda de información a las necesidades de los usuarios individuales.
Habrá una interacción entre la información requerida y las preferencias del
usuario de la aplicación. Con el XML vendrá una segunda generación de robots
que permitirá una mayor precisión de la búsqueda requerida. Actualmente
podemos encontrar aplicaciones de medios de comunicación como los periódicos
personalizados. Por otro lado, el impulso de los motores de búsqueda con XML
y la creación de buscadores de lenguaje natural.
- Otras aplicaciones que se desarrollarán son las operaciones para
comercio electrónico con la normativa EDI. Se puede hacer ya comparación de
precios entre los distintos tiendas virtuales.
Además de esto es importante destacar que XML aporta mucha potencia
yflexibilidad a las aplicaciones basadas en la Web, proporcionando
numerosasventajas a los programadores y usuarios, como lo son:
- Búsquedas con más significado: Los datos se pueden etiquetar de forma
exclusiva con XML, lo que permite que un cliente especifique libros escritos
por Winston Churchill, en lugar de sobre Winston Churchill. Las búsquedas
que utilizan los métodos actuales, por el contrario, probablemente
mezclarían ambos tipos de libros. Sin XML, es necesario que la aplicación de
búsqueda comprenda el esquema de cada base de datos, en el que se describe
cómo se ha generado. Esto es prácticamente imposible, pues cada base de
datos describe sus datos de una forma distinta. Sin embargo, con XML los
libros se pueden clasificar fácilmente en categorías estándar por autor,
título, ISBN u otros criterios. De esta forma, los agentes podrían buscar
libros sobre Winston Churchill en estos sitios de librerías de una forma
coherente.
- Programación de aplicaciones Web flexibles: Una vez encontrados los
datos, el XML se puede distribuir a otras aplicaciones, objetos y servidores
de nivel medio para continuar su procesamiento, o bien se puede entregar al
escritorio para su visualización en un explorador. XML, junto con HTML para
la presentación, las secuencias de comandos para la lógica y un modelo de
objeto común para la interacción con los datos y la presentación, ofrece
todas las tecnologías necesarias para el desarrollo de flexibles
aplicaciones Web de tres niveles.
- Integración de datos procedentes de fuentes dispares: La capacidad de
buscar en varias bases de datos no compatibles entre sí es, hoy en día,
prácticamente imposible. XML permite combinar fácilmente los datos
estructurados procedentes de fuentes distintas. Se pueden utilizar agentes
de software para integrar los datos en un servidor de nivel medio desde
bases de datos de fondo y otras aplicaciones. A continuación, dichos datos
se pueden entregar a clientes u otros servidores para su agregación,
procesamiento y distribución. La capacidad de ampliación y la flexibilidad
de XML le permiten describir los datos contenidos en una gran variedad de
aplicaciones muy diversas, desde las recopilaciones descriptivas de páginas
Web hasta los registros de datos. Además, dado que los datos basados en XML
son autodescriptivos, se pueden intercambiar y procesar sin necesidad de una
descripción incorporada de los datos entrantes.
- Computación y manipulación locales: Después de entregarlos al cliente,
los datos en formato XML se pueden analizar, editar y manipular de forma
local, siendo las aplicaciones clientes quienes realizan los cálculos. Los
usuarios pueden manipular los datos de diversas formas, y no limitarse a
presentarlos. El Modelo de objeto de documento (DOM) de XML también permite
manipular datos con secuencias de comandos u otros lenguajes de
programación. Los cálculos relativos a los datos se pueden realizar sin
volver al servidor. La separación entre la interfaz de usuario que ve los
datos y los propios datos permite crear, de forma natural, potentes
aplicaciones para el Web que antes sólo se encontraban en bases de datos
avanzadas, todo con un formato simple, flexible y abierto.
- Varias vistas de los datos: Una vez entregados los datos al escritorio,
se pueden ver de varias formas. Al describir los datos estructurados de una
forma simple, abierta y extensible, XML sirve de complemento para el HTML,
que se utiliza ampliamente para describir las interfaces de usuario. Una vez
más, mientras que el lenguaje HTML describe el aspecto de los datos, XML
describe los propios datos. Dado que la presentación está separada de los
datos, la definición de dichos datos en XML permite especificar varias
vistas, lo que significa que los datos se pueden representar de la forma
adecuada. Los datos locales se pueden presentar de una forma dinámica
determinada por la configuración del cliente, las preferencias del usuario u
otros criterios. CSS y XSL proporcionan mecanismos declarativos para
describir una vista de los datos en particular.
- Actualizaciones granulares: Los datos se pueden actualizar de forma
granular con XML, por lo que no es necesario volver a enviar un conjunto
completo de datos estructurados cada vez que cambia parte de dichos datos.
Sólo es preciso enviar el elemento modificado del servidor al cliente, y los
datos modificados se pueden presentar sin necesidad de actualizar toda la
interfaz de usuario. En la actualidad, aunque sólo cambie un elemento de los
datos, es preciso volver a construir toda la página, incluso si la vista
permanece igual, lo que reduce drásticamente la escalabilidad del servidor.
Asimismo, XML permite agregar otros datos, como las temperaturas máximas y
mínimasprevistas, la pluviosidad prevista y su probabilidad (expresada en
porcentaje).Esta información adicional se puede trasladar a la vista del usuario
sin que elexplorador tenga que enviar una vista nueva. Si se solicitan datos
adicionales,como la presión atmosférica, se pueden enviar sin volver a generar
la vista.
Ejemplos
Ejemplo de libro en amazón
Podemos observar como Amazón presenta en su Web información sobre los libros
El código en HTML es el siguiente:
<p>
<dt><b><a href="/exec/obidos/ASIN/0764531999/qid=919015337">Xml : Extensible Markup Language</a></b> ~ <NOBR><font color=#990033>Usually ships in 24 hours</font></NOBR><dd> Elliotte Rusty Harold / Paperback / Published 1998<br>Our Price: $31.99 ~ <NOBR><font color =#990033>You Save: $8.00 (20%)</font></NOBR><br><a href="/exec/obidos/ASIN/0764531999/qid=919015337"><i>Read more about this title...</i></a>y en XML lo podríamos escribir de la siguiente manera: <?xml version="1.0"?><libro> <titulo>Xml: Extensible Markup Language</titulo> <disponible tiempo="24" unidad="hours"/> <autor>Elliotte Rusty Harold</autor> <formato>Paperback</formato> <publicacion>1998</publicacion> <precio cantidad="31.99" moneda="dolar"/> <descuento cantidad="20"/> <enlacelibro href="/exec/obidos/ASIN/0764531999/qid=919015337"/></libro>Es evidente que no hay que ser ningún programador experto para entender
quecualquier programa informático podrá trabajar de forma más eficiente sobre
elsegundo ejemplo que sobre el primero. Esto permitirá, por ejemplo, realizar motores de búsqueda mucho máseficaces,
lo que nos permitirá un acceso más rápido y eficiente a lainformación. Nos
permitirá acceder a nuestras páginas favoritas desde nuestrotelefono mobil, o
desde la radio de nuestro coche, en el momento en el que losprogramas de
reconocimiento de voz trabajen con XML. Facilitará el intercambiode información
y la cooperación entre las empresas facilitando el comercioelectrónico, etc. Y
es que el XML busca precisamente crear la capacidad dehacerlo todo en la Web.
La potencia de esta forma de trabajar radica en que estamos etiquetando
eidentificando el contenido, olvidándonos en un principio por la forma
depresentarlo. ¡Ya nos encargaremos luego de darle un formato de salida!. El
W3cestá trabajando actualmente en el desarrollo de un lenguaje de hojas de
estiloque nos lo permitan, denominado XSL (Extensible Style Languaje). Mediante
unaXSL podremos transformar un document XML en otro XML (por ejemplo en HTML)
oconvertirlo a un formato de impresión: RTF, PDF, etc. Comentarios
En su calidad de estándar del sector para expresar datos estructurados,
XMLofrece muchas ventajas a las organizaciones, desarrolladores de software,
sitiosWeb y usuarios finales. Las oportunidades aumentarán cuantos más formatos
dedatos de mercado vertical se creen para mercados claves, como el mercado de
búsquedaavanzada en bases de datos, banca en línea, médico, legal, comercio
electrónico,etc. Cuando los sitios ofrezcan datos, en lugar de limitarse a las
vistas dedatos, las oportunidades serán extraordinarias.
Hoy en día, los servicios de atención al cliente están migrando de centros
dellamadas y sedes físicas a sitios Web, por lo que se beneficiarán de la
sólidafuncionalidad de XML. Dado que la mayoría de estas aplicaciones
empresarialesimplican la manipulación o la transferencia de datos y registros de
base dedatos, como pedidos de compra, facturas, información del cliente, citas,
mapas,etc., XML va a revolucionar las posibilidades de los usuarios finales
enInternet, permitiendo la implementación de un amplio abanico de
aplicacionesempresariales. Además, la información que ya esté almacenada en
sitios Web,tanto si está guardada en documentos como en bases de datos, puede
marcarse convocabularios basados en XML y orientados a intranets. Dichos
vocabularios tambiénayudan a las pequeñas y medianas empresas que necesiten
intercambiar informaciónentre clientes y proveedores. Un mercado vital y todavía por descubrir es el de las herramientas
dedesarrollo que simplifican a los usuarios finales la creación de sus
propiossitios Web cooperativos, lo que incluye las herramientas para generar
datos XMLheredados de información de bases de datos e interfaces de usuario
yaexistentes. Además, se pueden desarrollar esquemas estándar para
describirportafolios u otros datos que podrían utilizar, por ejemplo, el diseño,
los gráficosy otras funciones de Excel o de otras hojas de cálculo existentes.
Lasherramientas declarativas y visuales para describir XML generadas a partir
debases de datos heredadas constituyen una oportunidad muy potente.
Lasherramientas personalizadas para ver datos XML se pueden escribir en el
sistemade programación de Visual Basic®, en Java y en C . XML va a necesitar herramientas nuevas y potentes para la presentación
dedatos XML ricos y complejos dentro de un documento. Esto se consigue
asignandouna capa de presentación fácil de usar por encima de un conjunto
complejo dedatos jerárquicos que pueden cambiar de forma dinámica. Entre los
diseños quese podrán utilizar para los datos XML se incluyen los esquemas
contraíbles,las vistas dinámicas de tablas dinámicas y una sencilla hoja para
cadaportafolio. Los sitios Web pueden ofrecer cotizaciones de bolsa, artículos de prensa
odatos sobre el tráfico en tiempo real, los cuales se pueden conseguir a
travésde un filtro de difusiones del Web o mediante un sondeo inteligente de un
árbolde servidores que repliquen dichos sitios. Con XML se puede evitar la
sobrecargade información con sólo redactar normas personalizadas sobre el
envejecimientode la información, igual que en el correo electrónico. Las
herramientasbasadas en XML para que los usuarios creen dichas normas, así como
el softwarede cliente y servidor para ejecutarlas, constituyen una gran
oportunidad. Unmodelo de objeto estándar no podría habilitar dichas funciones,
normalmenteescritas en secuencias de comandos, para filtrar los mensajes
entrantes,examinar los mensajes almacenados, crear mensajes salientes, obtener
acceso abases de datos, etc. Dichos agentes se pueden redactar de forma que se
ejecutenen cualquier lugar de forma automática. Utilidades de XML.
Especificaremos algunas de las implementaciones/aplicaciones que se
handesarrollado con XML. Suponemos que se establezca alguna implementación
propiapara Bibliotecas y Centros de Documentación; y con ello se pueda extraer
lainformación desde la misma red (no por métodos de infranet).
CDF (Channel Definition Format): Los canales creado por Microsoft en
elexplorador IE4 con tecnología push.
RDF (Resource Description Framework): Esquema de descripción de recursos. Unade
las aplicaciones más importantes que permitirá describir los datos de
cadadocumento y definir las relaciones que hay entre los datos XML. Tratará de
losmetadatos (metadata). Se les podría considerar como "los META delXML". Muchas
compañías en Internet se están adhiriendo a esta aplicación.RDF Posee las
siguientes virtudes:
- Mejores motores de búsqueda. Se han adherido a esta especificación
Yahoo!, Altavista, Excite, Lycos, WebCrawler, Amazon, etc.
- La capacidad de describir los contenidos y sus relaciones en una
biblioteca digital o sede Web. Permitirá el acceso a una parte concreta del
documento y se facilitará el intercambio de los datos.
- Se pueden calificar los contenidos para establecer la protección
infantil y de la propia intimidad, desarrollado a través de las marcas
(tags) de PICS (Platform for Internet Content Selection).
- Establece los derechos de propiedad intelectual en las propias páginas
Web.
OSD (Open Software Description Format): Formato abierto de descripción
desoftware. Desarrollo de software en múltiples plataformas. Describe el
repartode software a través de la Red. Las etiquetas XML con las que está
descritodefinen los componentes, la versión que es, la plataforma en la que ha
sidocreado, la relación con otros componentes, etc. Esto hará que se
simplifiqueel proceso de instalación para el usuario y permitir también un fácil
uso delas actualizaciones. CML (Chemical Markup Language): Lenguaje de marcas para química.
Describe,entre otras formulas, las estructuras moleculares y cristalinas, los
análisisde espectros y otros objetos de interés para los químicos.
MathML (Mathematical Markup Language): Lenguaje de marcas para matemáticas.Apto
para codificar signos matemáticos, símbolos científicos, etc. El MathMLes un
lenguaje de bajo nivel que tiene en cuenta la comunicación maquina amaquina de
datos estructurados como información de bases de datos. El lenguajeMathML
utiliza dos series de códigos progresivos: el primero presenta lossignos
matemáticos en series crecientes, y el segundo transmite el significadosemántico
de las expresiones matemáticas, lo que posibilita la codificaciónde símbolos y
signos tanto matemáticos como científicos.
EDI (Electronic Document Interchange): Intercambio electrónico de datos. Llevaun
tiempo en proceso de estudio, pero finalmente dará un espaldarazo con el
estándarXML. InfoVía Plus lo integra en uno de sus servicios (InfoEDI). 3. Bibliografía
- ALADRO GARCÍA, A. El lenguaje XML: la nueva forma de estructurar los
contenidos. Net Magazine, 1998, año IV, nº 34, p. 74-77.
PEÑA TRESANCOS, J. "Estándar XML 1.0: tecnologías para Internet". PC World,
nº 144, junio 1998, p. 281-288.
- JOSE CERRANO PEREZ, "PROGRAMACION CON ASP3", p. 207-237
http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.htm
http://users.ox.ac.uk/~drh97/Papers/Sperberg.html
http://www.cs.caltech.edu/~adam/papers/xml/ascent-of-xml.html
http://www.csclub.uwaterloo.ca/u/relander/XML/Wave/xml_mw.html
http://www.gca.org/conf/xml/xml_what.htm
http://www.poet.com/xml/xml_lib.html
http://www.w3.org/XML/
http://www.xml.com/xml/pub
http://www.sil.org/sgml/xml.html
http://www.geocities.com/SiliconValley/Peaks/5957/xml.html
Trabajo enviado por:
ACS Sergio Daniel Caballero
sergio@caballero.net.ar Indice
1. Introduccion
2. Desarrollo
3. Bibliografía1. Introducción HTML (Hypertex Markup Language) se ha convertido en un lenguaje de marcas
deinmensa popularidad durante estos últimos años. También debemos anotar quenos
hemos encontrado con sus propias limitaciones, que algunas de ellas se
hanquerido subsanar con la incrustación de scripts, javascripts, Active X,
HTMLdinámico, hojas de estilo en cascada (CSS). Todo esto es insuficiente
paracrear una arquitectura abierta de tipo cliente/servidor, con lo que el W3C
(WordWide Web Consortium), organismo que vela por el desarrollo de la Word Wide
Web,se ha replanteado crear un nuevo estándar llamado XML (eXtensible
MarkupLanguage), que parte de las amplias especificaciones del SGML
(StandardGeneralized Markup Language ) es el estándar internacional para la
definiciónde la estructura y el contenido de diferentes tipos de documentos
electrónicos.XML fue desarrollándose por el Grupo de Trabajo XML desde 1996 (en
estosprimeros años llamado SGML Editorial Review Board). La especificación XML
1.0ha sido ratificada por la W3C el 10 de febrero de 1998, e interpretado
como"un sistema para definir, validar y compartir formatos de documentos en
laWeb". En el Futuro y actual presente de la red está en el comercio electrónico yen
el uso de tecnologías de telefonía IP, WAP y UMTS. Ante este futuro y yapresente
que puede también permanecer incierto, cuento menos en sus momentosiniciales,
están comenzando a surgir lenguajes alguno de ellos propios adeterminada
tecnología como el WML y WMLScript con la telefonía movil WAP. 2. Desarrollo ¿Qué es XML?.
Concepto:
XML es un lenguaje de metamarcado que ofrece un formato para la descripción
dedatos estructurados. Esto facilita unas declaraciones de contenido más
precisasy unos resultados de búsquedas más significativos en varias plataformas.
Además,XML habilitará una nueva generación de aplicaciones para ver y manipular
datosbasadas en el Web. Representación estructural de los datos:
XML ofrece una representación estructural de los datos que se puede
implementarampliamente y es fácil de distribuir. XML es un subconjunto de SGML
optimizadopara el Web. Definido por el World Wide Web Consortium (W3C) (en
inglés),XML garantiza que los datos estructurados sean uniformes e
independientes deaplicaciones o fabricantes. La interoperabilidad resultante
está creando rápidamenteuna nueva generación de aplicaciones de comercio
electrónico en la Web.
XML, que proporciona un estándar de datos que puede codificar el contenido,
lasemántica y los esquemas de una gran variedad de casos, desde los más simplesa
los más complejos, sirve para marcar lo siguiente:
- Un documento normal.
- Un registro estructurado, como un registro de citas o un pedido de
compra.
- Un objeto con datos y métodos, como el formulario permanente de un
objeto Java o de un control ActiveX.
- Un registro de datos, como el conjunto de resultados de una consulta.
- Metacontenido sobre un sitio Web, como el formato de definición de canal
(CDF).
- Representaciones gráficas, como la interfaz de usuario de una
aplicación.
- Entidades y tipos de esquema estándar.
- Todos los vínculos entre datos y personas que hay en el Web.
Cuando los datos llegan al escritorio del cliente, se pueden manipular,editar
y presentar en varias vistas, sin tener que regresar al servidor. Ahoralos
servidores pueden ser más escalables, gracias a la reducción de las cargasde
ancho de banda y computación. Además, dado que los datos se intercambian enel
formato XML, se pueden combinar fácilmente desde distintas fuentes.
XML es muy valioso para Internet, así como para los entornos de
intranetscorporativas de gran tamaño, pues proporciona interoperabilidad
mediante unformato basado en estándares flexible y abierto, con formas nuevas de
acceso alas bases de datos existentes y de entregar datos a clientes de Web.
Lasaplicaciones se pueden generar más rápidamente, su mantenimiento es
mássencillo y pueden ofrecer fácilmente varias vistas de los datos
estructurados.
En un principio, no rivalizarán HTML y XML, estos se complementarán el uno
alotro, anudándose ambas gramáticas. Este Lenguaje de marcas extensible (XML)
esuna versión abreviada del SGML (Standard Generalized Markup Language).
Algunos de los objetivos planteados por el Grupo de Trabajo XML y el W3C son:
- XML debe ser directamente utilizable sobre Internet.
- XML debe soportar una amplia variedad de aplicaciones.
- XML debe ser compatible con SGML.
- Debe ser fácil la escritura de programas que procesen documentos XML.
- El número de características opcionales en XML debe ser absolutamente
mínimo, idealmente cero.
- Los documentos XML deben ser legibles por los usuarios de este lenguaje
y razonablemente claros.
- El diseño de XML debe ser formal, conciso y preparado rápidamente.
- Los documentos XML deben ser fácilmente creables.
- La brevedad en las marcas XML es de mínima importancia.
A estos fines se le une unos estándares como el Unicode e ISO/IEC 10646
paracaracteres, el Internet RCF 1766 para identificación de lenguajes, ISO 639
paracódigos de nombres de lenguajes y también el ISO 3166 para códigos de
nombresde países, para la normal comprensión de esta versión de XML. Tampoco tenemos que equivocarnos y pensar que el XML es un HTML .
Tanto el XML como el HTML tienen su base en el SGML. Es decir, es unmetalenguaje
que nos permite definir lenguajes para definir la estructura y elcontenido de
nuestros documentos. La definición de la estructura y el contenidode un tipo de
documento se realiza en una DTD. En ella definimos los elementosque conformarán
ese tipo de documentos y como tienen que estar organizados paraque sea correcto.
Un ejemplo de DTD es por ejemplo la que define cómo tendrán que ser
losdocumentos HTML. Por tanto, el HTML no es más que un tipo de documento SGML
quese utiliza en la Web, y esto es importante, ya que aquí radica su
principaldiferencia con el XML.
El XML no es ningún tipo de documento SGML, sino que es una versión abreviadade
SGML optimizada para su utilización en Internet. Esto significa que con élvamos
a poder definir nuestros propios tipos de documentos (podremos definirnuestras
propias etiquetas) y, por tanto, ya no dependeremos de un único einflexible tipo
de documento HTML.

Diferencia entre el SGML, XML y HTML
El XML más que un HTML hay que considerarlo como un SGML-- optimizado para
suutilización en Internet. Como escribió Richard Ligth en su libro PresentigXML,
"XML ofrece el 80% de las ventajas del SGML con un 20% de sucomplejidad". Y es
que los diseñadores de XML intentaron dejar fuera sóloaquellas partes que
raramente se utilizan. Esta reducción resultó ser muyimportante: la
especificación XML ocupa aproximadamente 30 páginas, frente alas 500 del SGML.
Estructura de XML.
Un documento XML tiene dos estructuras, una lógica y otra física. Físicamente,el
documento está compuesto por unidades llamadas entidades. Una entidad puedehacer
referencia a otra entidad, causando que esta se incluya en el documento.Cada
documento comienza con una entidad documento, también llamada raíz.
Lógicamente,el documento está compuesto de declaraciones, elementos,
comentarios,referencias a caracteres e instrucciones de procesamiento, todos los
cuales estánindicados por una marca explícita. Las estructuras lógica y física
debenencajar de manera adecuada: Los documentos XML se dividen en dos grupos, documentos bien formados
ydocumentos válidos.
Un objeto textual o documento XML se dice que está bien formado si,
considerándolocomo conjunto, encaja con las especificaciones XML de producción,
lo queimplica:
- Contiene uno o más elementos.
- Hay exactamente un elemento, llamado raíz o elemento documento, de forma
que ninguna parte del mismo aparece en el contenido de ningún otro elemento.
Para todos los demás elementos, si la etiqueta inicial está en el contenido
de otro elemento, la etiqueta final forma parte del contenido del mismo
elemento. Dicho de forma más clara, los elementos, delimitados por una
etiqueta de inicio y otra de final, se encuentran anidados correctamente.
- Cumple todas las restricciones que proporciona su especificación a
través del DTD.Si no se utiliza DTD, el documento debe comenzar con un
Declaración de Documento único (SDD, Standalone Document Declaration) que
indique:
<?XML version="1.0" standalone="yes"?>
- Cada una de sus partes procesadas esta bien formada.
- Todas las etiquetas deben estar balanceadas: esto es, todos los
elementos que contengan datos de tipo carácter deben tener etiquetas de
principio y fin (no está permitida la omisión excepto para los elementos
vacíos.);
- Todos los valores de los atributos deben ir entrecomillados (el carácter
comilla simple [el apóstrofe] puede utilizarse si el valor contiene
caracteres comillas dobles, y viceversa): si necesitas ambos, utiliza '
y "
- Cualquier elemento VACÍO (p.e. aquellos que no tienen etiqueta final
como <IMG>, <HR>, y <BR> y otros de HTML) deben terminar con '/>' o debes
hacerlos no VACÍOS añadiéndoles una etiqueta de fin;
Ejemplo: <BR> se convertirá en <BR/> o en <BR></BR>.
- No debe haber etiquetas aisladas (< ó &) en el texto (p.e. debe darse
como < y &), y la secuencia ]]> debe darse como ]]> si no ocurre
esto como final de una sección marcada como CDATA;
- Los elementos deben anidar dentro de sí sus propiedades (no se deben
sobreponer etiquetas, como en el resto de SGML);
- Los Archivos bien-formados sin-DTD pueden utilizar atributos en sus
elementos, pero éstos deben ser todos del tipo CDATA, por defecto.
De un documento bien formado, se dice además que es válido, si tiene DTDcomo
el resto de aplicaciones SGML. Un archivo XML válido comienza comocualquier otro
archivo SGML, con una Declaración de Tipo de Documento: <?xml version="1.0"?>
<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">
<anuncio>
<titulo>...<foto/>...</titulo>
<texto>...</texto>
</anuncio>
Dado que XML está diseñado para ser un subconjunto de SGML, cualquierdocumento
XML válido debe ser también un documento SGML válido. Estructuras lógicas.
Cada documento XML contiene uno o más elementos, cuyos limites estándelimitados
por etiquetas de comienzo y de final o, en el caso de elementos vacíos,por una
etiqueta de elemento vacío.
Cada elemento tiene un tipo, identificado por un nombre, denominadoidentificador
genérico, y puede tener un conjunto de especificaciones deatributos.
Cada especificación de atributo tiene un nombre y un valor.
Estasespecificaciones no restringen la semántica, el uso o (mas allá de
lasintaxis) los nombres de los tipos de los elementos y los atributos, excepto
delos nombres que comienzan por XML, que se reservan para estandarizar etiquetas
oatributos en versiones posteriores del estándar. Estructuras físicas.
Un documento XML puede consistir en una o más unidades de almacenamientovirtual,
llamadas entidades. Todas estas unidades tienen contenido y todas ellas(excepto
la entidad documento y el subconjunto externo del DTD) estánidentificadas por un
nombre. Cada documento XML contiene una entidad, llamadaentidad documento, que
sirve como punto de comienzo para el procesador XML ypuede contener el documento
completo. Como hemos comentado, las entidades pueden ser analizadas o sin
analizar(también llamadas procesadas o sin procesar). El contenido de una
entidadanalizada se conoce también como texto de reemplazo, y es parte
integrante deldocumento. Las entidades no analizadas son recursos (tales como
enlaces) cuyocontenido puede o no ser texto, o en caso de que sea texto que no
sea XML. Cadaentidad no asociada tiene una notación asociada, identificada por
un nombre.Aparte de obligar al procesador XML a haga accesible a la aplicación
el nombrede esta notación y sus identificadores asociados, XML no proporciona
ningunaotra restricción sobre el contenido de estas entidades. La forma de
invocarambos tipos de entidades es a través de su nombre, en el caso de las
analizadasa través de su referencia a entidad y en el de las no analizadas a
través desus atributos de entidad. Las entidades generales, son entidades analizadas que se usan en el
interiordel documento. Las entidades parametrizadas son entidades analizadas que
se usanen el ámbito del DTD. Estos dos tipos de entidades usan distintos tipos
dereferencias y se reconocen en contextos distintos. XML consta de cuatro especificaciones (el propio XML sienta las bases
sintácticasy el alcance de su implementación):
- DTD (Document Type Definition): Definición del tipo de documento. Es, en
general, un archivo(s) que encierra una definición formal de un tipo de
documento y, a la vez, especifica la estructura lógica de cada documento.
Define tanto los elementos de una página como sus atributos. El DTD del XML
es opcional. En tareas sencillas no es necesario construir una DTD, entonces
se trataría de un documento "bien formado" (well-formed) y si lleva DTD será
un documento "validado" (valid).
- XSL (eXtensible Stylesheet Language): Define o implementa el lenguaje de
estilo de los documentos escritos para XML. Desde el verano de 1997 varias
empresas informáticas como Arbortext, Microsoft e Inso vienen trabajando en
una propuesta de XSL (antes llamado "xml-style") que presentaron a W3C.
Permite modificar el aspecto de un documento. Se puede lograr múltiple
columnas, texto girado, orden de visualización de los datos de una tabla,
múltiples tipos de letra con amplia variedad en los tamaños. Este estándar
está basado en el lenguaje de semántica y especificación de estilo de
documento (DSSSL, Document Style Semantics and Specification Language,
ISO/IEC 10179) y, por otro lado, se considera más potente que las hojas de
estilo en cascada (CSS, Cascading Style Sheets), usado en un principio con
el lenguaje DHTML. "Se espera que el CSS sea usado para visualizar simples
estructuras de documentos XML (actualmente se ha conseguido mayor
integración en XML con el protocolo CSS2 (Cascading Style Sheets, level 2)
ofreciendo nuevas formas de composición y una más rápida visualización) y,
por otra parte, XSL pueda ser utilizado donde se requiera más potencia de
diseño como documentos XML que encierran datos estructurados (tablas,
organigramas, etc.)(2)".
- XLL (eXtensible Linking Language): Define el modo de enlace entre
diferentes enlaces. Se considera que es un subconjunto de HyTime
(Hipermedia/Timed-based structuring Language o Lenguaje de estructuración
Hipermedia/basado en el tiempo, ISO 10744) y sigue algunas especificaciones
del TEI (Text Encoding Initiative o Iniciativa de codificación de texto).
Desde marzo de 1998 el W3C trabajo en los enlaces y direccionamientos del
XML. Provisionalmente se le renombró como Xlink y a partir de junio se le
nombra como XLL. Este lenguaje de enlaces extensible tiene dos importantes
componentes: Xlink y el Xpointer. Va más allá de los enlaces simples que
sólo soporta el HTML. Se podrá implementar con enlaces extendidos. Jon Bosak
establece los siguientes mecanismos hipertextuales que soportará esta
especificación:
- Denominación independiente de la ubicación.
- Enlaces que pueden ser también bidirecccionales.
- Enlaces que pueden especificarse y gestionarse desde fuera del documento
a los que se apliquen (Esto permitirá crear en un entorno intranet/extranet
un banco de datos de enlaces en los que se puede gestionar y actualizar
automáticamente. No habrá más errores del tipo "404 Not Found").
- Hiperenlaces múltiples (anillos, múltiples ventanas, etc.).
- Enlaces agrupados (múltiples orígenes).
- Transclusión (el documento destino al que apunta el enlace aparece como
parte integrante del documento origen del enlace).
- Se pueden aplicar atributos a los enlaces (tipos de enlaces).
- XUA (XML User Agent): Estandarización de navegadores XML. Todavía está
en proceso de creación de borradores de trabajo. Se aplicará a los
navegadores para que compartan todos las especificaciones XML.
Aplicaciones de XML.
Algunas de las aplicaciones de XML son:
- Ofrecer mecanismos más versátiles de mostrar datos. Actualmente, bajo el
nombre de DOM (Document Object Model) se está desarrollando una API que sea
soportada por todos los procesadores de XML y HTML. La idea detrás de esta
API es que podamos representar (a través de javascripts o JavaApplets)
documentos XML en los navegadores Web, pero de una forma más sofisticada que
los documentos HTML, ya que XML no solo proporciona una sintaxis, sino
también una semántica.
- Buscadores inteligentes. Debido a que la información en los documentos
XML está etiquetada por su significado de forma precisa, podemos localizarla
de forma mucho más clara que en documentos HTML. Con DTDs estandarizados
para distintas aplicaciones (librerías, tiendas de deporte, catálogos de
componentes,…) podríamos programar buscadores Web que recuperasen
información sobre un producto de cualquier website en el mundo sabiendo que
todos tendrán el mismo formato de datos (gracias al DTD), aunque no tengan
necesariamente la misma representación gráfica (gracias al XML/XSL).
- Intercambio de información entre sistemas heterogéneos. El fundamento es
el mismo que para los buscadores inteligentes. Debido a que el DTD
proporciona un formato estándar para representar la información de un tema
específico, puede usarse para simplificar el intercambio de información
entre distintas fuentes (actualmente existen ya dos DTD estandarizados uno
para fabricantes de chips y otro para industrias químicas, llamado CML).
Ventajas de XML.
- Los autores y proveedores pueden diseñar sus propios tipos de documentos
usando XML, en vez de limitarse a HTML. Los tipos de documentos pueden ser
explícitamente 'hechos a la medida de una audiencia', por lo que las
difíciles manipulaciones que debes hacer con HTML para conseguir efectos
especiales serán cosa del pasado: autores y diseñadores serán libres de
inventar sus propias etiquetas;
- 7La información contenida puede ser más 'rica' y fácil de usar, porque
las habilidades hipertextuales de XML son mayores que las de HTML.
- XML puede dar más y mejores facilidades para la representación en los
visualizadores.
- Elimina muchas de las complejidades de SGML, en favor de la flexibilidad
del modelo, con lo que la escritura de programas para manejar XML será más
sencilla que haciendo el mismo trabajo en SGML.
- La información será más accesible y reutilizable, porque la flexibilidad
de las etiquetas de XML pueden utilizarse sin tener que amoldarse a reglas
específicas de un fabricante, como es el caso de HTML.
- Los archivos XML válidos son válidos también en SGML, luego pueden
utilizarse también fuera de la Web, en un entorno SGML (una vez la
especificación sea estable y el software SGML la adopte).
Desarrollo de aplicaciones con XML
Existen cuatro tipos de aplicaciones que impulsarán el desarrollo del XML:
Aplicaciones que exijan que el cliente Web medie entre dos o más bases dedatos.
Se hará posible la integración de bases de datos distribuidas en losnavegadores
que admitan XML, pudiéndose modificar el contenido y la estructurade esta.
Actualmente implantado en amplias redes nacionales, sin embargo, selimitan las
posibilidades al establecerse una intranet/extranet y con ampliasbases de datos
que sólo permiten la visualización de los datos en elnavegador. XML establecerá
una arquitectura de 3 niveles (three-tier) que estárepresentada de la siguiente
manera:
- Se irá pareciendo cada vez más a una arquitectura cliente-servidor.
- Aplicaciones que intentan transferir una parte significativa de la carga
del proceso del servidor al cliente Web. Funcionará con un subprograma Java
que se insertará en el PC del cliente. Esta carga hará que muchas de las
funciones de modificación puedan desarrollarse desde el mismo navegador Web
del cliente. Por ejemplo, dentro de una intranet con una aplicación de
gestión bibliotecaria sobre los documentos disponibles en el centro
bibliotecario. Se establecerán categorías específicas como los datos de la
ficha catalográfica, fecha de préstamo, fecha de devolución, nombre del
usuario, número de registro, etc. Todos estos ítems se pueden agrupar por
categorías y estarán descritos externamente desde los "esquemas" (schemas) o
los RDF del XML. Permite actualizarse en el acto y con la posibilidad
interactiva por parte del usuario en el pedido, gestión y modificación de
documentos desde su lejano navegador. El lado más negativo es que se
necesitará mayor ancho de banda y mayor potencia del procesador del equipo
para poder soportar esta arquitectura de tres-niveles.
- Aplicaciones que precisen que el cliente Web presente diferentes
versiones de los mismos datos a diferentes usuarios. Se podría aplicar un
manual de diferentes grados (iniciación, intermedio y avanzado) con sus
diferentes idiomas, etcétera. Esto hará que este manual se pueda
personalizar por los usuarios y extraer la información requerida de un
capítulo determinado, con una ordenación y formatos concretos.
- Aplicaciones en las que agentes Web inteligentes intentan adaptar la
búsqueda de información a las necesidades de los usuarios individuales.
Habrá una interacción entre la información requerida y las preferencias del
usuario de la aplicación. Con el XML vendrá una segunda generación de robots
que permitirá una mayor precisión de la búsqueda requerida. Actualmente
podemos encontrar aplicaciones de medios de comunicación como los periódicos
personalizados. Por otro lado, el impulso de los motores de búsqueda con XML
y la creación de buscadores de lenguaje natural.
- Otras aplicaciones que se desarrollarán son las operaciones para
comercio electrónico con la normativa EDI. Se puede hacer ya comparación de
precios entre los distintos tiendas virtuales.
Además de esto es importante destacar que XML aporta mucha potencia
yflexibilidad a las aplicaciones basadas en la Web, proporcionando
numerosasventajas a los programadores y usuarios, como lo son:
- Búsquedas con más significado: Los datos se pueden etiquetar de forma
exclusiva con XML, lo que permite que un cliente especifique libros escritos
por Winston Churchill, en lugar de sobre Winston Churchill. Las búsquedas
que utilizan los métodos actuales, por el contrario, probablemente
mezclarían ambos tipos de libros. Sin XML, es necesario que la aplicación de
búsqueda comprenda el esquema de cada base de datos, en el que se describe
cómo se ha generado. Esto es prácticamente imposible, pues cada base de
datos describe sus datos de una forma distinta. Sin embargo, con XML los
libros se pueden clasificar fácilmente en categorías estándar por autor,
título, ISBN u otros criterios. De esta forma, los agentes podrían buscar
libros sobre Winston Churchill en estos sitios de librerías de una forma
coherente.
- Programación de aplicaciones Web flexibles: Una vez encontrados los
datos, el XML se puede distribuir a otras aplicaciones, objetos y servidores
de nivel medio para continuar su procesamiento, o bien se puede entregar al
escritorio para su visualización en un explorador. XML, junto con HTML para
la presentación, las secuencias de comandos para la lógica y un modelo de
objeto común para la interacción con los datos y la presentación, ofrece
todas las tecnologías necesarias para el desarrollo de flexibles
aplicaciones Web de tres niveles.
- Integración de datos procedentes de fuentes dispares: La capacidad de
buscar en varias bases de datos no compatibles entre sí es, hoy en día,
prácticamente imposible. XML permite combinar fácilmente los datos
estructurados procedentes de fuentes distintas. Se pueden utilizar agentes
de software para integrar los datos en un servidor de nivel medio desde
bases de datos de fondo y otras aplicaciones. A continuación, dichos datos
se pueden entregar a clientes u otros servidores para su agregación,
procesamiento y distribución. La capacidad de ampliación y la flexibilidad
de XML le permiten describir los datos contenidos en una gran variedad de
aplicaciones muy diversas, desde las recopilaciones descriptivas de páginas
Web hasta los registros de datos. Además, dado que los datos basados en XML
son autodescriptivos, se pueden intercambiar y procesar sin necesidad de una
descripción incorporada de los datos entrantes.
- Computación y manipulación locales: Después de entregarlos al cliente,
los datos en formato XML se pueden analizar, editar y manipular de forma
local, siendo las aplicaciones clientes quienes realizan los cálculos. Los
usuarios pueden manipular los datos de diversas formas, y no limitarse a
presentarlos. El Modelo de objeto de documento (DOM) de XML también permite
manipular datos con secuencias de comandos u otros lenguajes de
programación. Los cálculos relativos a los datos se pueden realizar sin
volver al servidor. La separación entre la interfaz de usuario que ve los
datos y los propios datos permite crear, de forma natural, potentes
aplicaciones para el Web que antes sólo se encontraban en bases de datos
avanzadas, todo con un formato simple, flexible y abierto.
- Varias vistas de los datos: Una vez entregados los datos al escritorio,
se pueden ver de varias formas. Al describir los datos estructurados de una
forma simple, abierta y extensible, XML sirve de complemento para el HTML,
que se utiliza ampliamente para describir las interfaces de usuario. Una vez
más, mientras que el lenguaje HTML describe el aspecto de los datos, XML
describe los propios datos. Dado que la presentación está separada de los
datos, la definición de dichos datos en XML permite especificar varias
vistas, lo que significa que los datos se pueden representar de la forma
adecuada. Los datos locales se pueden presentar de una forma dinámica
determinada por la configuración del cliente, las preferencias del usuario u
otros criterios. CSS y XSL proporcionan mecanismos declarativos para
describir una vista de los datos en particular.
- Actualizaciones granulares: Los datos se pueden actualizar de forma
granular con XML, por lo que no es necesario volver a enviar un conjunto
completo de datos estructurados cada vez que cambia parte de dichos datos.
Sólo es preciso enviar el elemento modificado del servidor al cliente, y los
datos modificados se pueden presentar sin necesidad de actualizar toda la
interfaz de usuario. En la actualidad, aunque sólo cambie un elemento de los
datos, es preciso volver a construir toda la página, incluso si la vista
permanece igual, lo que reduce drásticamente la escalabilidad del servidor.
Asimismo, XML permite agregar otros datos, como las temperaturas máximas y
mínimasprevistas, la pluviosidad prevista y su probabilidad (expresada en
porcentaje).Esta información adicional se puede trasladar a la vista del usuario
sin que elexplorador tenga que enviar una vista nueva. Si se solicitan datos
adicionales,como la presión atmosférica, se pueden enviar sin volver a generar
la vista. Ejemplos
Ejemplo de libro en amazón
Podemos observar como Amazón presenta en su Web información sobre los libros
El código en HTML es el siguiente:
<p><dt><b><a href="/exec/obidos/ASIN/0764531999/qid=919015337">Xml : Extensible Markup Language</a></b> ~ <NOBR><font color=#990033>Usually ships in 24 hours</font></NOBR><dd> Elliotte Rusty Harold / Paperback / Published 1998<br>Our Price: $31.99 ~ <NOBR><font color =#990033>You Save: $8.00 (20%)</font></NOBR><br><a href="/exec/obidos/ASIN/0764531999/qid=919015337"><i>Read more about this title...</i></a>y en XML lo podríamos escribir de la siguiente manera: <?xml version="1.0"?><libro> <titulo>Xml: Extensible Markup Language</titulo> <disponible tiempo="24" unidad="hours"/> <autor>Elliotte Rusty Harold</autor> <formato>Paperback</formato> <publicacion>1998</publicacion> <precio cantidad="31.99" moneda="dolar"/> <descuento cantidad="20"/> <enlacelibro href="/exec/obidos/ASIN/0764531999/qid=919015337"/></libro>Es evidente que no hay que ser ningún programador experto para entender
quecualquier programa informático podrá trabajar de forma más eficiente sobre
elsegundo ejemplo que sobre el primero. Esto permitirá, por ejemplo, realizar motores de búsqueda mucho máseficaces,
lo que nos permitirá un acceso más rápido y eficiente a lainformación. Nos
permitirá acceder a nuestras páginas favoritas desde nuestrotelefono mobil, o
desde la radio de nuestro coche, en el momento en el que losprogramas de
reconocimiento de voz trabajen con XML. Facilitará el intercambiode información
y la cooperación entre las empresas facilitando el comercioelectrónico, etc. Y
es que el XML busca precisamente crear la capacidad dehacerlo todo en la Web.
La potencia de esta forma de trabajar radica en que estamos etiquetando
eidentificando el contenido, olvidándonos en un principio por la forma
depresentarlo. ¡Ya nos encargaremos luego de darle un formato de salida!. El
W3cestá trabajando actualmente en el desarrollo de un lenguaje de hojas de
estiloque nos lo permitan, denominado XSL (Extensible Style Languaje). Mediante
unaXSL podremos transformar un document XML en otro XML (por ejemplo en HTML)
oconvertirlo a un formato de impresión: RTF, PDF, etc. Comentarios
En su calidad de estándar del sector para expresar datos estructurados,
XMLofrece muchas ventajas a las organizaciones, desarrolladores de software,
sitiosWeb y usuarios finales. Las oportunidades aumentarán cuantos más formatos
dedatos de mercado vertical se creen para mercados claves, como el mercado de
búsquedaavanzada en bases de datos, banca en línea, médico, legal, comercio
electrónico,etc. Cuando los sitios ofrezcan datos, en lugar de limitarse a las
vistas dedatos, las oportunidades serán extraordinarias.
Hoy en día, los servicios de atención al cliente están migrando de centros
dellamadas y sedes físicas a sitios Web, por lo que se beneficiarán de la
sólidafuncionalidad de XML. Dado que la mayoría de estas aplicaciones
empresarialesimplican la manipulación o la transferencia de datos y registros de
base dedatos, como pedidos de compra, facturas, información del cliente, citas,
mapas,etc., XML va a revolucionar las posibilidades de los usuarios finales
enInternet, permitiendo la implementación de un amplio abanico de
aplicacionesempresariales. Además, la información que ya esté almacenada en
sitios Web,tanto si está guardada en documentos como en bases de datos, puede
marcarse convocabularios basados en XML y orientados a intranets. Dichos
vocabularios tambiénayudan a las pequeñas y medianas empresas que necesiten
intercambiar informaciónentre clientes y proveedores. Un mercado vital y todavía por descubrir es el de las herramientas
dedesarrollo que simplifican a los usuarios finales la creación de sus
propiossitios Web cooperativos, lo que incluye las herramientas para generar
datos XMLheredados de información de bases de datos e interfaces de usuario
yaexistentes. Además, se pueden desarrollar esquemas estándar para
describirportafolios u otros datos que podrían utilizar, por ejemplo, el diseño,
los gráficosy otras funciones de Excel o de otras hojas de cálculo existentes.
Lasherramientas declarativas y visuales para describir XML generadas a partir
debases de datos heredadas constituyen una oportunidad muy potente.
Lasherramientas personalizadas para ver datos XML se pueden escribir en el
sistemade programación de Visual Basic®, en Java y en C . XML va a necesitar herramientas nuevas y potentes para la presentación
dedatos XML ricos y complejos dentro de un documento. Esto se consigue
asignandouna capa de presentación fácil de usar por encima de un conjunto
complejo dedatos jerárquicos que pueden cambiar de forma dinámica. Entre los
diseños quese podrán utilizar para los datos XML se incluyen los esquemas
contraíbles,las vistas dinámicas de tablas dinámicas y una sencilla hoja para
cadaportafolio. Los sitios Web pueden ofrecer cotizaciones de bolsa, artículos de prensa
odatos sobre el tráfico en tiempo real, los cuales se pueden conseguir a
travésde un filtro de difusiones del Web o mediante un sondeo inteligente de un
árbolde servidores que repliquen dichos sitios. Con XML se puede evitar la
sobrecargade información con sólo redactar normas personalizadas sobre el
envejecimientode la información, igual que en el correo electrónico. Las
herramientasbasadas en XML para que los usuarios creen dichas normas, así como
el softwarede cliente y servidor para ejecutarlas, constituyen una gran
oportunidad. Unmodelo de objeto estándar no podría habilitar dichas funciones,
normalmenteescritas en secuencias de comandos, para filtrar los mensajes
entrantes,examinar los mensajes almacenados, crear mensajes salientes, obtener
acceso abases de datos, etc. Dichos agentes se pueden redactar de forma que se
ejecutenen cualquier lugar de forma automática. Utilidades de XML.
Especificaremos algunas de las implementaciones/aplicaciones que se
handesarrollado con XML. Suponemos que se establezca alguna implementación
propiapara Bibliotecas y Centros de Documentación; y con ello se pueda extraer
lainformación desde la misma red (no por métodos de infranet).
CDF (Channel Definition Format): Los canales creado por Microsoft en
elexplorador IE4 con tecnología push.
RDF (Resource Description Framework): Esquema de descripción de recursos. Unade
las aplicaciones más importantes que permitirá describir los datos de
cadadocumento y definir las relaciones que hay entre los datos XML. Tratará de
losmetadatos (metadata). Se les podría considerar como "los META delXML". Muchas
compañías en Internet se están adhiriendo a esta aplicación.RDF Posee las
siguientes virtudes:
- Mejores motores de búsqueda. Se han adherido a esta especificación
Yahoo!, Altavista, Excite, Lycos, WebCrawler, Amazon, etc.
- La capacidad de describir los contenidos y sus relaciones en una
biblioteca digital o sede Web. Permitirá el acceso a una parte concreta del
documento y se facilitará el intercambio de los datos.
- Se pueden calificar los contenidos para establecer la protección
infantil y de la propia intimidad, desarrollado a través de las marcas
(tags) de PICS (Platform for Internet Content Selection).
- Establece los derechos de propiedad intelectual en las propias páginas
Web.
OSD (Open Software Description Format): Formato abierto de descripción
desoftware. Desarrollo de software en múltiples plataformas. Describe el
repartode software a través de la Red. Las etiquetas XML con las que está
descritodefinen los componentes, la versión que es, la plataforma en la que ha
sidocreado, la relación con otros componentes, etc. Esto hará que se
simplifiqueel proceso de instalación para el usuario y permitir también un fácil
uso delas actualizaciones. CML (Chemical Markup Language): Lenguaje de marcas para química.
Describe,entre otras formulas, las estructuras moleculares y cristalinas, los
análisisde espectros y otros objetos de interés para los químicos.
MathML (Mathematical Markup Language): Lenguaje de marcas para matemáticas.Apto
para codificar signos matemáticos, símbolos científicos, etc. El MathMLes un
lenguaje de bajo nivel que tiene en cuenta la comunicación maquina amaquina de
datos estructurados como información de bases de datos. El lenguajeMathML
utiliza dos series de códigos progresivos: el primero presenta lossignos
matemáticos en series crecientes, y el segundo transmite el significadosemántico
de las expresiones matemáticas, lo que posibilita la codificaciónde símbolos y
signos tanto matemáticos como científicos.
EDI (Electronic Document Interchange): Intercambio electrónico de datos. Llevaun
tiempo en proceso de estudio, pero finalmente dará un espaldarazo con el
estándarXML. InfoVía Plus lo integra en uno de sus servicios (InfoEDI). 3. Bibliografía
- ALADRO GARCÍA, A. El lenguaje XML: la nueva forma de estructurar los
contenidos. Net Magazine, 1998, año IV, nº 34, p. 74-77.
PEÑA TRESANCOS, J. "Estándar XML 1.0: tecnologías para Internet". PC World,
nº 144, junio 1998, p. 281-288.
- JOSE CERRANO PEREZ, "PROGRAMACION CON ASP3", p. 207-237
http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.htm
http://users.ox.ac.uk/~drh97/Papers/Sperberg.html
http://www.cs.caltech.edu/~adam/papers/xml/ascent-of-xml.html
http://www.csclub.uwaterloo.ca/u/relander/XML/Wave/xml_mw.html
http://www.gca.org/conf/xml/xml_what.htm
http://www.poet.com/xml/xml_lib.html
http://www.w3.org/XML/
http://www.xml.com/xml/pub
http://www.sil.org/sgml/xml.html
http://www.geocities.com/SiliconValley/Peaks/5957/xml.html
Trabajo enviado por:
ACS Sergio Daniel Caballero
sergio@caballero.net.ar
|