Saltar la navegación

De SGML a XML

XML proviene de un lenguaje inventado por IBM en los años setenta, llamado GML (Generalized Markup Language), que surgió por la necesidad que tenía la empresa de almacenar grandes cantidades de información y compartirla en otros SO y plataformas. Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML (Standard Generalized Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de él se han creado otros sistemas para almacenar información.

Se buscó entonces definir un subconjunto del SGML que permita:

  • Mezclar elementos de diferentes lenguajes. Es decir que los lenguajes sean extensibles.
  • La creación de analizadores simples, sin ninguna lógica especial para cada lenguaje.
  • Empezar de cero y hacer hincapié en que no se acepte nunca un documento con errores de sintaxis.

Para hacer esto XML deja de lado muchas características de SGML que estaban pensadas para facilitar la escritura manual de documentos. XML en cambio está orientado a hacer las cosas más sencillas para los programas automáticos que necesiten interpretar el documento.

¿Qué es SGML?

El lenguaje de marcado generalizado estándar ó SGML (por sus siglas en ingles de Standard Generalized Markup Language) (SGML; ISO 8879: 1986) es un estándar para definir lenguajes de marcado generalizadas para documentos.

SGML fue diseñado para permitir el intercambio de información entre distintas plataformas, soportes físicos, lógicos y diferentes sistemas de almacenamiento y presentación (bases de datos, edición electrónica, etc.), con independencia de su grado de complejidad.

HTML en teoría era un ejemplo de un lenguaje basado en SGML hasta HTML 5, que admite que los navegadores no pueden analizar como SGML (por razones de compatibilidad) y codifica exactamente lo que debe hacer en su lugar.

Cuando se concibe un documento electrónico en SGML se debe tener en cuenta que:

  • El material que constituye un documento se puede distribuir en diferentes archivos, tantos como sean necesarios. Estos archivos además pueden estar almacenados en distintos ordenadores.
  • Un archivo puede contener la portada, otro la introducción, otro una parte de una hoja de cálculo, otro un gráfico, otro un organigrama, otro la bibliografía, etc.
  • En SGML, cada uno de estos objetos recibe el nombre de entidad. Las entidades se conciben como objetos independientes.
  • Las entidades pueden tener cualquier tamaño, haber sido creadas por cualquier programa de software o estar guardadas en cualquier ordenador.
  • Las entidades pueden estar compartidas por distintos documentos.
  • Un documento estará definido en función de la estructura de las entidades que lo conforman.
  • En el índice de materias de un documento no se encontrará ninguna referencia a los archivos que contienen las entidades.
  • Las entidades se organizan en una estructura lógicade manera jerarquizada, en la que se definen conceptos como capítulos, tablas y párrafos y que configuran lo que se denomina estructura de los elementos del documento.
  • Elementos y entidades pueden coincidir: un elemento lógico como tabla puede ser también una entidad en un archivo hoja de cálculo