SGML


SGML (Standard Generalized Mark-up Language)

ÍNDICE

  1. Introducción
  2. Lenguajes de Marcado
  3. SGML y HTML
  4. SGML y XML
  5. SGML
  6. ¿Cómo funciona SGML?
  7. Un Documento SGML consta de:
  8. ¿Cómo son las etiquetas SGML?
  9. Características de un documento electrónico en SGML
  10. ¿Cómo se procesa un documento SGML?
  11. Capacidades de SGML
  12. Validación del documento SGML
OTROS ENLACES DE INTERÉS

BIBLIOGRAFÍA CONTACTOS

Introducción

SGML, "Standard Generalized Markup Language" o "Lenguaje de Marcación Generalizado", consiste en un sistema para la organización y etiquetado de documentos. La Organización Internacional de Estándares (ISO) ha normalizado este lenguaje en 1986. El lenguaje SGML sirve para especificar las reglas de etiquetado de documentos y no impone en sí ningún conjunto de etiquetas en especial. El lenguaje HTML esta definido en términos del SGML. XML es un nuevo estándar con una funcionalidad similar a la del SGML aunque más sencillo, y de creación posterior. La industria de la publicación de documentos constituye uno de los principales usuarios del lenguaje SGML. Empleando este lenguaje, se crean y mantienen documentos que luego son llevados a otros formatos finales como HTML, Postscript, RTF, etc.

Inicio

Lenguajes de marcado

El lenguaje de marcado (markup language), también denominado lenguaje de anotaciones o de etiquetas, se define como un conjunto de reglas para estructurar y dar formato a un documento electrónico. Suelen utilizar etiquetas para definir el inicio y el final de un elemento: un párrafo, un título, un elemento subrayado, etc. Los lenguajes de marcas más utilizados son HTML y XML, ambos basados en el metalenguaje SGML (standard generalized markup language).

Un lenguaje de marcado cumple con dos objetivos esenciales para diseñar y procesar un documento digital:

  1. Separa un texto en los elementos en los que se compone, como por ejemplo un párrafo, un capítulo, etc.
  2. Especifica las operaciones tipográficas y funciones que debe ejecutar el programa visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital, por ejemplo, imprimir un título en itálicas.

Inicio

SGML y HTML

HTML (hypertext markup language) es el lenguaje estándar utilizado en la Web para representar la información intercambiada por sus usuarios en forma de documentos de hipertexto. Podríamos definir este lenguaje como un documento ASCII con una serie de etiquetas que indican al navegador cómo interpretar y dar formato al texto que las acompaña. También podríamos crear documentos en cualquier formato, y utilizar tanto el protocolo http para moverlos por la red como los URL para localizarlos; pero la razón por la que se utilizan documentos formateados en HTML es porque éste es un estándar y otros formatos no. De este modo, cualquier navegador o browser que use las normas estándar de visualización de documentos Web podrá leer o interpretar perfectamente el HTML.

Está basado en el metalenguaje SGML (Standard Generalized Mark-up Language, ISO 8879:1986), un estándar para la descripción de documentos. La gramática HTML está escrita en SGML, en un documento denominado DTD (Document Type Definition) .

Es un lenguaje orientado a la definición de la estructura y la semántica del documento más que a su representación física concreta.

Nace en 1991 junto al WWW, en el CERN, de la mano de Tim Berners-Lee, y hoy es desarrollado por el W3 Consortium (creado a finales de 1994), con la participación de empresas privadas. El método de marcado de cada elemento y de las etiquetas iniciales y finales es impuesto por SGML.

En cuanto a la estructura del documento HTML, las páginas HTML se basan en el uso de marcas o etiquetas (tags) que indican el comienzo y el final de los elementos que componen el documento. Cada uno de estos elementos tiene un significado estructural diferente. Por ejemplo, el elemento <P> contiene un párrafo de texto, o el elemento <H1> para indicar un encabezado o título en el texto. Estas etiquetas comienzan por el símbolo de menor que “<“ y terminan con el símbolo de mayor que “>”. La palabra que se encierra entre estos dos símbolos indica qué acción debe realizar el navegador. Por ejemplo: <HTML>, <HEAD> o <BODY>. Además, para delimitar el ámbito en el que debe aplicarse una etiqueta, se debe indicar hasta dónde actúa. Para ello, se utiliza la misma etiqueta pero con el símbolo “/” delante de la palabra. Por ejemplo: </HEAD>, </HTML>, </BODY>, </p> o </h1>. Cada etiqueta de principio de acción tiene correspondencia con una etiqueta de fin de acción. Las etiquetas no son sensitivas, es decir, no distinguen entre mayúsculas y minúsculas, ya que siempre mantienen su valor.

Por tanto, el código HTML sólo contiene información sobre la estructura de los contenidos, y como estos contenidos están estructurados de manera lógica, pueden ser representados de acuerdo con esa estructura por cualquier navegador. De este modo, nosotros no tenemos que encargarnos del formato (negritas, cursiva,…). Hoy en día el aspecto visual se ha desarrollado mucho gracias a las hojas de estilo.

Para más información sobre HTML puede consultar, entre otras, las siguientes páginas a las que también se hace referencia en la bibliografía:

  1. Página de J. Tomás Nogales Flores, profesor titular de Universidad del Departamento de Biblioteconomía y Documentación de la Universidad Carlos III de Madrid.

  2. Página de Juan R. Pozo. HTML con clase.

Inicio

SGML y XML

XML (Extensible Mark-up Language) es, como el SGML, un lenguaje para definir lenguajes. Es más sencillo y más fácil de aplicar que SGML, y diseñado para hacer frente al gran y rápido desarrollo de las nuevas tecnologías de Internet.

En XML no hay elementos. Cada usuario puede crear su propio lenguaje para el formato de datos y documentos según sus necesidades, siguiendo las reglas de XML a partir de unos estándares generales.

Al igual que HTML, se basa en documentos de texto plano (aquellos que están compuestos únicamente por texto sin formato, sólo caracteres) en los que se utilizan etiquetas para delimitar los elementos de un documento. Sin embargo, XML define estas etiquetas en función del tipo de datos que está describiendo y no de la apariencia final que tendrán en pantalla o en la copia impresa, además de permitir definir nuevas etiquetas y ampliar las existentes.

HTML no indica lo que está representando, se preocupa más del formato que de lo que se está mostrando. XML describe el contenido de lo que etiqueta. Su objetivo es conseguir una página Web más semántica.

Son varios los vocabularios desarrollados en XML con el fin de ampliar sus aplicaciones. Podemos considerar fundamentales: XHTML, XSL-FO y XSLT, XLink, XPointer y Schema. Además, existen también versiones para usos específicos, como MathML (fórmulas matemáticas), SVG (gráficos vectoriales), DocBook (lenguaje para el formato de libros electrónicos), RSS (sindicación de noticias), o XBRL (partes financieros).

Inicio

SGML

SGML (Standard Generalized Mark-up Language), es un lenguaje generalizado estándar para el formato de documentos. Es un estándar internacional que permite definir lenguajes para dar formato a documentos. Por ejemplo, el HTML, es un lenguaje de formato de documentos definido de acuerdo con SGML, es decir, una aplicación de SGML para dar formato a documentos de hipertexto.

SGML es utilizado desde mitad de los 80 y ha permanecido bastante estable. Gran parte de su estabilidad se la debe al hecho de que el lenguaje es a la vez flexible y rico en posibilidades. Sin embargo, esta estabilidad tiene un inconveniente, el nivel de complejidad que ha producido su uso en diversos ámbitos como la World Wide Web.

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, independientemente de su grado de complejidad.

SGML debe utilizarse cuando existe alguna de las siguientes condiciones:

  1. Cuando existe la necesidad de intercambiar documentos entre diferentes sistemas de cómputo o de publicación.
  2. Cuando los documentos tendrán una vida de uso larga.
  3. Cuando la estructura de un documento es fundamental.
  4. Cuando se utiliza una base de datos para el almacenamiento y recuperación de elementos del documento.

Inicio

¿Cómo funciona SGML?

La función del etiquetado es aportar información que refleje la estructura jerárquica de un documento, de forma que ayude al lector u ordenador a procesar su contenido. Existen dos tipos de etiquetado:

  1. El etiquetado procedimental : técnica mediante la cual un operario utiliza instrucciones crípticas y dependientes del funcionamiento de un sistema determinado para que ejecute una acción, como por ejemplo activar la tipografía, poner en negrita, centrar, etc.
  2. El etiquetado descriptivo, que identifica los elementos estructurales de un documento, determinando su estructura lógica.

El lenguaje de etiquetado SGML permite distinguir entre el contenido (datos) y el etiquetado.

Es necesario un etiquetado o código genérico para lograr un sistema de códigos universal e independiente de la aplicación. Esta fue una de las principales cuestiones que se debatieron en el Comité que creó SGML, la codificación genérica. De este modo se evita la codificación interna, es decir, el que cada programa utilice un sistema propio. Se pretende lograr un conjunto de etiquetas válidas para un elevado número de documentos, algo que implica una gran dificultad debido a la gran diversidad de documentos y elementos que contienen.

SGML utiliza un conjunto de caracteres basado en el estándar ASCII (American Standard Coding for the Interchange of Information).

En SGML todo el etiquetado es lógico, es decir, en lugar de utilizar códigos crípticos, se utilizan nombres de elementos, delimitados por marcas que indican el comienzo y final de los objetos lógicos.

Los lenguajes informáticos proporcionan al programador un conjunto de operaciones básicas que suelen agruparse en un cabecera (heading) que sirve para definir un conjunto específico de instrucciones que utilizará el programa.

De esta forma SGML no se quedó como un simple conjunto de códigos normalizados, sino que se convirtió en un lenguaje con el que se podía crear una definición del tipo de documento (DTD), mediante la que se definen con precisión aquellos elementos que son necesarios en la elaboración de un documento o un grupo de documentos estructurados de manera similar.

Las definiciones de los elementos, denominadas declaraciones de elementos, tienen dos funciones:

  1. Aportar el nombre de las etiquetas
  2. Describir el modelo de contenido (lo que cada elemento puede contener)

Un documento SGML consta de 3 partes:

Inicio

La Declaración SGML

La declaración SGML dice al usuario qué puede y qué no puede estar contenido en el documento SGML, qué caracteres serán usados, qué características específicas de SGML serán implementadas, y qué sintaxis se utilizará en el documento. Se trata de un diagrama formal y normalizado que le indica al sistema receptor el conjunto de caracteres, los delimitadores y las características opcionales de SGML que se están utilizando. La declaración SGML y la DTD trabajan de forma conjunta. Si la declaración SGML dice que una función en particular no podrá ser usada, la DTD debe respetarlo, de otra manera existirán errores en el documento.

Inicio

DTD (Declaración de Tipo de Documento)

En la DTD (Document Type Definition) o Definición del Tipo de Documento se identifica la estructura del documento, es decir, aquellos elementos que son necesarios en la elaboración de un documento o un grupo de documentos estructurados de manera similar. Contiene las reglas de dichos elementos: el nombre, su significado, dónde pueden ser utilizados y qué pueden contener. Si la DTD se almacena en un archivo separado (con la extensión .dtd), éste se puede referenciar sin residir dentro del documento SGML, porque es corriente que se sustituya la DTD completa por una línea que indique que la DTD se edita como un texto público o se encuentra ya disponible en el sistema receptor. Sin la DTD ( o una referencia a él), el documento SGML no será validado apropiadamente por el parser. El parser es una herramienta que asegura la adecuada conformación de SGML dentro de las múltiples especificaciones que un documento SGML puede tener. Un documento no será validado por el parser si no cumple con las especificaciones de la DTD, por ejemplo, si carece de título, ya que éste es un elemento obligatorio.

En la definición del tipo de documento o DTD (Document Type Definition) se utilizan los comandos:

Otro concepto importante dentro del SGML y del DTD es el de secciones marcadas. Éstas son usadas para aislar ciertos trozos de texto como específicos de una arquitectura, y se inician con los caracteres: "". Las claves para la especificación de las secciones marcadas son INCLUDE, IGNORE, CDATA, RCDATA o TEMP.

Otros comandos importantes son:

Para escribir la DTD hay que analizar los documentos y tener en cuenta los posibles cambios (revisiones, borrado,...) Además, las etiquetas definidas en la DTD servirán para que editores, motores de búsqueda y visualizadores interpreten los documentos SGML.

Hay que analizar y definir bien la estructura de los documentos para poder jerarquizar y seccionar adecuadamente las partes que contendrá la DTD.

En la siguiente tabla se muestra un ejemplo de cómo funciona el DTD:

DTD define, por ejemplo:
Nombres de la etiqueta CHAPTER es el nombre de la etiqueta que indica el comienzo y el final de un capítulo
Contenido del elemento Los capítulos pueden contener un párrafo introductorio, y deben contener una o más secciones.(PARA ?, SECTION+)
Las relaciones entre elementos El elemento del cuerpo contiene una serie de capítulos (CHAPTER+)

Inicio

Muestra de Documento

La Muestra de Documento contiene el marcado o etiquetado y el contenido del texto, es decir, contiene el documento en sí que incluye tanto el texto como el marcado.

El contenido del documento tiene objetos SGML que siguen la estructura del árbol definido en la DTD. Los objetos SGML son fundamentalmente dos:

En la siguiente imagen pueden distinguir los diferentes componentes de un documento SGML

Inicio

¿Cómo son las etiquetas SGML?

En SGML, las etiquetas se distinguen del resto del texto mediante caracteres de delimitación. Estos delimitadores permiten que el software reconozca qué caracteres deben ser leídos en modo de ETIQUETA, y deben por ello traducirse al lenguaje concreto de composición o tratarse de manera específica, y qué otros caracteres de CONTENIDO deberán ser transferidos posteriormente a la aplicación para su procesamiento.

Delimitadores

Los caracteres utilizados como delimitadores deben elegirse cuidadosamente, ya que no han de aparecer con demasiada frecuencia como parte del contenido de un documento. El ISO 8879 describe un conjunto de caracteres básicos entre los que se incluyen el paréntesis angular de apertura y de cierre para destacar las etiquetas de inicio (los caracteres < > con el nombre de un elemento en su interior) y el signo & seguido por un nombre, y éste a su vez seguido de un punto y coma para representar entidades tales como imágenes gráficas o caracteres especiales.

Inicio

Características de un documento electrónico en SGML

El material que constituye un documento se puede distribuir en diferentes archivos, que pueden estar almacenados en distintos ordenadores.

En SGML cada uno de ellos recibe el nombre de entidad; éstas pueden tener cualquier tamaño, haber sido creadas por cualquier programa de software o estar guardadas en cualquier ordenador, y se conciben como objetos independientes.

Las entidades pueden estar compartidas por distintos documentos.

Un documento estará definido en función de la estructura de las entidades que lo conforman.

Las entidades se organizan en una estructura lógica de manera jerarquizada, en la que se definen conceptos como capítulos, tablas y párrafos, formando una 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.

Inicio

¿Cómo se procesa un documento SGML?

Se trata de una validación automática realizada por una máquina.

La función del parser es leer el documento SGML y separar los datos del etiquetado. Detecta cuándo el etiquetado ha sido minimizado y en tal caso lo expande. Si el contenido incluye referencias a una hoja de cálculo electrónica de un capítulo concreto, y el gráfico del organigrama de otro capítulo, dará las instrucciones pertinentes al sistema sobre cómo encontrar dichas entidades.

Si el gráfico se halla en alguna notación de contenido de datos especial, generada por un programa de diseño de gráficos, el parser lo dispondrá todo para introducir la imagen.

Si su contenido incluye instrucciones especiales para el sistema de edición en su propio lenguaje interno (instrucciones de procesamiento) éstas pasarán directamente a la aplicación.

Si se ha utilizado el componente de sección marcada en SGML y ha indicado que algunas partes de su documento no han de aparecer en la versión editada, el parser sabrá que no tiene que enviarlas.

Si se está utilizando el componente de declaración de comentarios SGML para enviar y recibir notas y mensajes entre los escritores y los editores, el parser también sabrá que no ha de enviarlos a la aplicación receptora.

Todo esto se realiza sin que resulte visible al ojo humano.

Inicio

Capacidades de SGML

Existen varias características en función de las necesidades de cada documento:

La ubicación de otros documentos dentro del sistema. Se trata de sub-documentos que pueden ser fácilmente unidos mediante un comando conocido como referencia de entidad.

Caracteres especiales requeridos en un documento. SGML provee un mecanismo para la recuperación de caracteres de notación matemática o símbolos y acentos diacríticos de idiomas extranjeros.

Simplificaciones. Como esfuerzo para reducir el número de palabras reservadas para producir un documento SGML, el lenguaje provee palabras simplificadas o reducidas que pueden utilizarse en diferentes formas.

Inicio

Validación del documento SGML

Antes de generar cualquier tipo de documento a partir de SGML, es necesario que se trate de un documento válido, es decir que se respete la sintaxis de DocBook. Para ello basta usar el comando C-c C-v Enter, en caso de que no se haya salvado aparecerá un mensaje en el buffer pidiendo hacerlo, para lo cual se debe escribir y.

A continuación se dividirá la ventana y aparecerá un mensaje que indica el resultado de la validación correcta.

Inicio

BIBLIOGRAFÍA

  1. BRYAN, Martin. SGML: An Author´s Guide to the Standard Generalizad Markup Languaje. 364 p. ISBN: 0-201-17535-5
  2. ALSCHULER, Liora. ABCD...SGML: A user´s Guide to Structured Information. 414 p. ISBN: 1-850-32197-3
  3. ALVAREZ GARCÍA, Alonso. HTML: Creación de páginas web. Madrid: Anaya Multimedia, 1997. 352 p. ISBN: 84-7614-858-5
  4. GALENO, Germán. Manual Imprescindible de HTML 4. Díaz, Pablo; Sánchez, José Carlos. Madrid: Anaya Multimedia, 2000. 412p. ISBN: 84-415-1024-5
  5. Curso de Introducción a SGML [en línea]. Disponible en web: http://www.serv-inf.deusto.es/ABAITUA/konzeptu/sgml/sgml0.htm [Consulta: 15 de Marzo de 2006]
  6. POZO, Juan R. HTML con clase [En línea]. Disponible en web: http://html.conclase.net/tutorial/html/[Consulta: 16 de Marzo de 2006]
  7. NOGALES FLORES, Tomás [En línea ]. Disponible en web: http://www.bib.uc3m.es/~nogales/HTML/html40.html[Consulta: 15 de Marzo de 2006]
  8. WIKIPEDIA, la enciclopedia libre [En línea]. Disponible en web: http://es.wikipedia.org/wiki/Portada[Consulta: 16 de Marzo de 2006]
  9. LAMARCA LAPUENTE, Mª Jesús. Hipertexto, el nuevo concepto de documento en la cultura de la imagen [En línea]. Disponible en web: http://www.hipertexto.info/documentos/sgml.htm[Consulta: 16 de Marzo de 2006]
  10. XHTML™ 1.0: The Extensible HyperText Markup Language: A Reformulation of HTML 4 in XML 1.0 [En línea]. W3C, Recomendaciones. Disponible en web: http://www.w3.org/TR/2000/REC-xhtml1-20000126/[Consulta: 17 de Marzo de 2006]
  11. LÓPEZ GUZMÁN, Clara. Modelo para el desarrollo de bibliotecas digitales especializadas.SGML. [En línea]. Disponible en web: http://www.bibliodgsca.unam.mx/tesis/tes7cllg/sec_25.htm [Consulta: 22 de Marzo de 2006].

Inicio


Última actualización: 24/04/2006

Ana Isabel Fernández Pérez
Universidad Carlos III de Madrid
aifperez@yahoo.es

Counter

RSS

Valid RSS feed.