XML: ¿Otro Acrónimo Mas?

El rey está muerto.
¡Viva el nuevo rey!

Esta columna es la primera de dos partes dedicadas a XML y sus aplicaciones, un tema mencionado brevemente hace algunos meses. XML es un acrónimo de eXtensible Markup Language, un subconjunto simplificado de SGML (Standard Generalized Markup Language), del cual hablamos hace varios años atrás. Tanto SGML como XML son metalenguajes. Es decir, lenguajes para definir lenguajes de estructuración de texto basados en marcas explícitas o tags, que son entendibles por una persona y que pueden ser interpretadas por un computador. SGML es complejo y muy poderoso, pero a la vez no puede ser analizado eficientemente, lo cual es una desventaja para casos simples. En particular, HTML es una instancia de SGML. Por otra parte, XML está diseñado para ser usado en Internet y lenguajes basados en él serán en el futuro los protocolos estándares para el intercambio de datos o especificación de metadatos (datos acerca del contenido de una página Web).

Características de XML

XML impone una sintaxis más rígida para las marcas, que permite su proceso de forma más eficiente. En XML, las marcas de término no pueden ser omitidas (a diferencia de la marca P en HTML, por ejemplo). Marcas sin contenido, como IMG o BR en HTML, terminan con un /> para indicar que allí acaban. XML también distingue entre minúsculas y mayúsculas. También, cualquier valor de un atributo en una marca debe ir entre comillas (es decir, no se pueden omitir). Esto significa que interpretar XML sin conocer el conjunto válido de marcas es mucho más sencillo. En particular, definir entonces el tipo del documento (lo que en SGML y XML se llama DTD de document type declaration) no es obligatorio. En este caso, las marcas se obtienen a medida que se interpreta el documento. XML permite definir lenguajes de marcas para cualquier fin y tiene capacidades de validación de datos. La figura adjunta muestra un ejemplo de un documento estructurado con XML usando un conjunto de marcas definido para correo electrónico y sin usar un DTD. El no usar un DTD tiene también sus desventajas, ya que en ese caso la falta de información dificulta tener software automático que apoye la generación de documentos (por ejemplo, un editor de XML similar a los editores de HTML).

Usos de XML

Actualmente XML está siendo usado para muchos fines diferentes. La lista a continuación son sólo algunos de los más importantes:

Otros usos incluyen protocolos para objetivos específicos como lenguajes de consulta y áreas específicas como finanzas, química, etc. En nuestra próxima columna hablaremos de cómo definir estos lenguajes a través de un DTD.

Bibliografía:

Figura

< ?XML VERSION="1.0" RMD="NONE" ?>
< e-mail id="94108rby" date_sent="02101998">
  < prolog>
  < sender> Pablo Neruda < /sender>
  < address> Federico García Lorca < /address>
  < address> Ernest Hemingway < /address>
  < subject> Pictures of my house in Isla Negra < /subject>
  < Cc> Gabriel García Marquez < /Cc>
  < /prolog>
  < contents>
      < par>
      As promised in my previous letter, I am sending two digital pictures
      to show you my house and the splendid view of the Pacific Ocean from
      my bedroom (photo < ref idref="F2"/>).
      < /par>
      < image id="F1" ref="photo1.gif" />
      < image id="F2"> ref="photo2.jpg" />
      < par>
      Regards from the South, Pablo.
      < /par>
  < /contents>
< /e-mail>


Si tiene preguntas o sugerencias, envíe e-mail a rbaeza@dcc.uchile.cl