Antecedentes y Terminología de XML

Intercambio de Información

El intercambio de Información siempre ha sido un grave problema cuando se utilizan lenguajes y sistemas operativos incongruentes, esto se ha dado desde los niveles de procesadores de palabras (WYSIWYG) hasta la utilización de bases de datos que utilizan diferentes dialectos SQL.

Este problema solo se agudizo con la aparición de Internet; donde antes era posible limitar o controlar la utilización de diferentes sistemas para intercambiar información, en Internet este no es el caso, inclusive previa aparición de Internet fueron creados mecanismos para lograr el intercambio fluido de información entre diferentes sistemas, el primero método fue GML,posteriormente SGML y actualmente XML, todos estos mecanismos son llamados lenguajes de marcación o meta-lenguajes

GML y SGML

GML ("General Markup Language") fue uno de los primeros lenguajes de marcación que fue diseñado para componer estructuras de datos descriptivas, esto es, un meta-lenguaje , estructuras de datos describiendo otras estructuras de datos. GML eventualmente se convirtió en SGML ("Standard Generalized Markup Language") y fue en 1986 que fue adoptado como un "Standard Internacional para el Intercambio y Almacenaje de Información" (ISO 8879). Aunque SGML fue adoptado y aún es utilizado en varios proyectos por ser un lenguaje de marcación muy poderoso , su forma es un tanto compleja y por ende costosa de desarrollar.

Este lenguaje de marcación (SGML) ha encontrado uso en proyectos gubernamentales, industrias manufactureras, publicistas...inclusive es utilizado todos los días por nuestro navegador ("Explorer" o "Netscape").

Internet Explorer y Netscape utilizan SGML ?, Como ?

Toda información que recibe nuestro navegador como fue mencionado en aplicaciones de cliente generalmente es HTML , el detalle es que HTML es parte de SGML. Lo siguiente es parte de un documento HTML:

 
<html>
<head>
<title> Documento Básico en HTML </title>
</head>
<body>
<h2> Este es el Titulo </h2>

<!-- Este es un comentario de recordatorio 
       que no aparecerá desplegado-->

<a href=mailto:webmaster@osmosislatina.com> 
       Enviame un Mail 
</a>

</body>
</html>

Si observa detalladamente y como su nombre lo indica HTML también es un lenguaje de marcación : estructuras de datos describiendo otras estructuras de datos, los parámetros: <title> <h2> <html> <head> .. describen otras estructuras de datos: Documento Básico en HTML,Este es el Titulo ...,sin embargo HTML proviene de algo más global que es precisamente SGML.

Donde esta la conexión entre SGML y HTML ?

Todo navegador (Netscape,Explorer,KFM,...) contiene al menos 3 DTD ("Data Type Definition") para HTML, omitiendo casi todos los detalles, estos DTD indican como debe ser desplegada la información en el navegador, esto es, definen que <title> es el titulo del documento, <h2> es un encabezado..etc. Estos DTD's forman parte primordial de SGML , y son estos DTD los que realmente van conformando el estándar HTML, el estándar HTML 4.0 esta compuesto por ciertos DTD que se encuentran en: http://www.w3.org/TR/REC-html40 .

Inclusive muchos navegadores están equipados con DTD's propietarios, lo cual hace que ciertos elementos de HTML sean incompatibles con otros navegadores, esto fue mencionado en consideraciones de HTML .

Entonces SGML o XML ?

Si usted deseara intercambiar información con una empresa en Chile y otra en Holanda, seguramente tendrían que acordar en un estándar, no ? Para asegurarse que esta información fuera reutilizable independientemente del Sistema Operativo o Aplicación seguramente utilizaría un estándar Internacional como SGML. Sin embargo, SGML es tan complejo de implementar que seguramente en un trabajo pequeño sus costos excederían sus beneficios, es por esto que en 1996 el "World Wide Web Consortium" inicio trabajos sobre XML, un estándar más simplificado.

Ahora si: XML

Aunque se entro en varios detalles sobre SGML y HTML esto se hizo con la intención de ilustrar su complejidad y por lo tanto la necesidad de otro estándar más sencillo XML.

La atención que ha generado XML es debido al lugar donde se facilita el intercambio de información, ya que es posible utilizar este lenguaje de marcación para generar así como distribuir información que sea utilizada por bases de datos , aplicaciones de servidor , aparatos inalámbricos , impresoras,etc. La principal ventaja que presenta este lenguaje es su independencia de sistema operativo y aplicación que será capaz de utilizarlo , esto es, se puede tener un documento escrito en XML y este puede ser manipulado en los sistemas operativos: Sun Solaris,Windows,AIX o en un ambiente Java,VBScript,PL/SQL. Cabe aclarar que XML no es una panacea para todo sistema de Información , por lo tanto es conveniente poner en contexto su utilización.

Intercambio de Documento XML

En la gráfica se muestra un documento XML que a través de varias herramientas desarrolladas para el lenguaje (DOM,SAX,DTD,XSL..entre otras más) puede ser utilizado para varios fines (aparatos inalámbricos, bases de datos, servidores-web), las flechas bidireccionales indican que el proceso puede ser llevado en cualquier sentido y a cualquier medio que soporte XML .Es esta facilidad de Intercambio de Información por la que ha sido aclamado XML en desarrollos B2B (Business to Business)

Debido a que XML fue desarrollado a partir de SGML eliminando un gran número de funcionalidades que lo hacían extremadamente complejo, XML aun mantiene una similitud con SGML, un ejemplo:

 
<producto>
<nombre> Bocinas </nombre>
<modelo> XJ-246432 </modelo>
<precio> $123.25 </precio>
<disponibilidad> Si </disponibilidad>  
</producto>

XML también utiliza tags como SGML/HTML, sin embargo, a diferencia de HTML que ya posee DTD's específicos, en XML es posible describir información general como productos, descripciones, nombres...etc, los cuales son denominados vocabularios.

Hoy en día ya han sido definidos varios vocabularios (DTD's) que definen este tipo de tags en base a industrias, de manera que de la misma forma en que ya existe un estándar para tags de presentación (HTML), varias industrias han empezado a definir sus propios tags : Industria Química QML"Chemical Markup Language" , Industria Legal XFDL "Extensible Forms Description Language" y otra gran gamma de Industrias, una lista se encuentra en: www.oasis-open.org/cover

DTD's en XML ? Entonces es lo mismo que SGML..

Aunque XML aun contiene elementos como DTD's, tendrá que tomar la palabra de este autor (o leer las especificaciones de SGML y especificación de XML ) que el uso de XML es mucho más fácil y adoptado por la industria y por consiguiente reconocer que en los próximos años es casi un hecho que formará una parte primordial del intercambio de Información en Internet.

Terminología en XML

Esta es alguna de la Terminología utilizada en XML.