Está en la página 1de 9

SGML

Presentación
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.

Un nuevo concepto de información


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

Dos tipos de contenido


En toda comunicación se pueden distinguir dos niveles de información:

1. Por un lado, el conjunto de datos que componen lo que tradicionalmente


entendemos por contenido,
2. y por otro, una información más sutil, que se superpone a ese contenido. Esta
otra información es la negrita en un libro, el subrayado en un manuscrito, un
tono alto de voz en una conversación y se denomina etiquetado (markup).

La función del etiquetado es aportar información que por lo general refleja la estructura
jerárquica de un documento, de forma que ayude al lector humano o al ordenador a
procesar su contenido.
El lenguaje de etiquetado SGML permite distinguir entre el contenido o datos
(compuestos por caracteres de datos, las letras del alfabeto, los números, la
puntuación, etc.) y el etiquetado (compuesto por caracteres de etiquetado, los cuales,
en este caso concreto, son también letras, números y signos de puntuación.

El etiquetado procedimental
La idea de etiquetar un texto no es nueva.

Hasta fechas muy recientes, los maquetadores de las imprentas marcaban los textos con
instrucciones para que el cajista supiera cómo reflejar el diseño, esto es, si los títulos
debían aparecer más grandes, en negrita o centrados, los renglones sangrados con una
cierta anchura, etc.

Estas instrucciones eran una secuencia de signos ininteligibles para el profano y,


muchas veces, solo tenían sentido para la máquina concreta con la que se iba a
imprimir.

Las instrucciones podían contener códigos de control específicos que trasladados a otro
entorno podían bloquear la composición tipográfica.

Por lo demás de las veces, estas instrucciones, que estaban además intercaladas en el
texto, imposibilitaban la reutilización posterior de la información.

Si el texto era revisado con intención de reeditarlo, había que utilizar el mismo sistema
de composición, para entonces probablemente obsoleto.

Si se deseaba cambiar el diseño, había que manipular los archivos para modificar todos
losa códigos, muchos encriptados u ocultos, como por ejemplo, el efecto de centrar un
título escrito en negrita con letra Times Roman de 36 puntos.

La utilización de técnicas informáticas de búsqueda y recuperación globales podían


resolver parcialmente el problema, pero a veces ocasionando efectos no deseados.

Las mismas instrucciones pueden aparecer en una amplia diversidad de lugares no


relacionados de manera lógica.

Por ejemplo, si se cambiasen a negrita todos los extranjerismos que se hallaban en


cursiva en un texto, también se convertirían de manera accidental, aunque automática,
todas las referencias de obras en cursiva en la bibliografía, así como cualquier otra parte
del texto resaltado con cursiva.

El etiquetado procedimental es esta técnica que estamos describiendo, por medio de 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.

El etiquetado descriptivo por el contrario, identifica los elementos estructurales de un


documento, determinando su estructura lógica, de manera que se solucionan muchos de
los problemas mencionados.
Ventajas del etiquetado descriptivo
1. En primer lugar, el estándar SGML utiliza un conjunto de caracteres basado en
el estándar ASCII (American Standard Coding for the Interchange of
Information), reconocido de manera prácticamente universal por cualquier tipo
de plataforma y de sistema informático.
Los caracteres especiales, que no están contemplados en el conjunto de
caracteres ASCII (propios de sistemas de escritura distintos del inglés, símbolos
matemáticos, etc.) se transforman en representaciones ASCII y se denominan
referencias de entidad.
Así se evitan otros caracteres especiales o de control.
2. La segunda mejora tiene que ver con la subordinación del etiquetado a los
aspectos lógicos de la estructura de los documentos.
SGML parte del criterio de que existe una relación directa entre cuestiones como
el cambio de tipografía y una cabecera, la utilización de la cursiva para resaltar
un término, el dibujo de un recuadro con un gráfico, etc.
En SGML todo el etiquetado es lógico, es decir, en lugar de utilizar códigos
crípticos, se utilizan nombres de elementos, delimiatados por marcas que
indican el comienzo y final de los objetos lógicos.

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 (por ejemplo, &bullet; para un
redondelito negro).

¿Cómo funciona SGML?


Cualquier base de datos cuenta con una representación interna que indica, por ejemplo,
dónde termina el campo de "nombres" y donde comienza el campo de "direcciones".

Todos los procesadores de texto utilizan algún sistema de codificación interno para
marcar cuestiones como la negrita, la cursiva, el sangrado, el centrado, etc. Pero el
problema con estos códigos es que cada programa usa un sistema propio, sistemas que
incluso cambian de una versión a otra en un mismo programa. Aunque existen
programas para convertir, los problemas que esta disparidad ocasiona son considerables.

Etiquetado genérico

En las primeras reuniones del Comité que abordó la creación de SGML, una de las
principales cuestiones que se debatieron fue la codificación genérica, esto es, un
sistema de códigos universal e independiente de la aplicación, por medio del cual, por
ejemplo <P> significara siempre párrafo y <H1> indicara siempre un encabezado de
primer nivel. La intención inicial era lograr especificar un conjunto de etiquetas que
fueran válidas para un elevado número de documentos.

Sin embargo, a pesar de que el principio de la codificación genérica está bien fundado,
la variedad de documentos, así como la diversidad de elementos que contienen, lo hacen
prácticamente inabordable.

Se vislumbró además un segundo problema: ¿Qué se hace con los errores? ¿Existe
algún sistema por el que el ordenador pueda ayudar a asegurar que se codifican
correctamente los nombres de los elementos? ¿Puede ser de utilidad el ordenador en la
aún más difícil tarea de comprobar que los usuarios introducen los códigos en los
lugares correctos?

Cabecera

Curiosamente, existía una respuesta a ambos problemas, y ésta llegó desde el entorno de
la programación informática.

Habitualmente, los lenguajes informáticos proporcionan al programador un conjunto de


operaciones básicas "primitivas" que suelen agruparse en un cabecera (heading) que
sirve para definir un conjunto específico de instrucciones que utilizará el programa.

Definición de tipo de documento (DTD)

Los miembros del Comité adoptaron exactamente este enfoque. De esta forma SGML
no se quedó como un mero 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.

Declaración de elementos

Las definiciones de los elementos -formalmente denominadas declaraciones de


elementos- tienen dos funciones:

1. aportan el nombre "oficial" de las etiquetas (los nombres que aparecerán dentro
de los delimitadores, por ejemplo <chapter>);
2. y describen lo que cada elemento puede contener, el modelo de contenido
Un capítulo se puede definir como algo que comienza con un título, seguido de una
serie de párrafos, con subsecciones:

<!Element chapter (chptitle, (para | heading)+) >

El lenguaje SGML proporciona la sintaxis necesaria para realizar esta declaración.


Cualquier sistema SGML la reconocería, gracias a la presencia de la marca<!
ELEMENT como declaración de un elemento:

La coma significa "seguida por", la barra vertical "o" y el signo de la suma como "uno o
más". Los paréntesis facilitan la agrupación, exactamente de la misma manera que lo
hacen en cualquier operación aritmética.

El siguiente paso que habría que dar sería declarar los contenidos de los subelementos
del capítulo, "chptitle", "para" y "heading". Podemos declarar todos los contenidos de
manera conjunta si cuentan con el mismo modelo de contenido. El signo > finaliza la
declaración de este elemento.

<!ELEMENT (chptitle | para | heading) (#PCDATA) >

El sistema reconoce la palabra reservada de SGML, PCDATA, dando a entender que


"chptitle", "para" y "heading" no tienen ningún subelemento propio. Más bien contienen
lo que se denomina datos de caracteres analizados sintácticamente: las letras, los
números, la puntuación y los caracteres especiales concretos que constituyen el
contenido.

Al llegar a este punto el usuario crearía el documento utilizando el etiquetado declarado


en la DTD, acompañado por los delimitadores apropiados procedentes de los datos de
los caracteres:

<chapter><chptitle<My Summer vacation</chptitle>

<para>It was a dark night, not stormy at all, no hint of a storm, really ... </para>

<para>A pirate ship appeared on the horizon ... </para> ... </chapter>

Tal y como se puede suponer, las etiquetas que comienzan con el delimitador </ son
etiquetas de fin. El contenido del título del capítulo se halla completamente definido
entre sus etiquetas de inicio y de fin.

Además de declarar los nombres de los elementos y qué contenidos son permitidos, la
DTD también puede incluir una lista de entidades. Dichas entidades representan la
codificación de los caracteres especiales, de los puntos negros de adorno y de los
archivos externos, con independencia de la máquina que se utilice. Cada sistema las
incorporará en la pantalla o en el papel de manera particular.

En algunas ocasiones no existe suficiente información en el nombre de un elemento


como para que pueda utilizarse de acuerdo con unas necesidades individuales concretas.
Quizás, nuestro usuario ficticio desee que el párrafo de inicio del capítulo sea
clasificado como de alto secreto. Un atributo para un párrafo podría definirse de la
manera expuesta a continuación:

<!ATTLIST para secrecy (topsec|public) "public">

El "public" entre comillas representa el valor por defecto. Todos los párrafos en los
que el usuario no especifique topsec o public, tendrán el valor "public".

<para secrecy=topsec>It was a dark night, not stormy at all, no hint of a storm,
really ...

<para>A pirate ship appeared on the horizon ...</>

Adviértase que en algunas ocasiones puede utilizarse la minimización del etiquetado


para ahorrar pulsaciones de teclas. (En el ejemplo previo se ha omitido la etiqueta de fin
del primer párrafo, ya que la etiqueta de inicio del siguiente párrafo implica el final del
elemento del primer párrafo. Además, se ha omitido el nombre del elemento "para" en
la secuencia </>). Existen varias técnicas de minimización válidas para las etiquetas de
fin, así como para las etiquetas de inicio y para las especificaciones de atributos.

La declaración de un documento SGML


Cuando se le comunica a alguien que se le está enviando un documento SGML, esa
persona sabe de antemano:

• que dicho documento puede comenzar con una declaración SGML. Ese
diagrama formal y normalizado le indica al sistema receptor exactamente -entre
otra mucha información- el conjunto de caracteres, los delimitadores y las
características opcionales de SGML que se están utilizando. (Por ejemplo, la
minimización es algo que unos sistemas soportan y otros no). A menudo se
omitirá la declaración SGML presuponiendo que tanto el sistema emisor como
el receptor utilizan la sintaxis por defecto o la sintaxis de referencia concreta.
• que por consiguiente, el documento contendrá un subconjunto de la
declaración del tipo de documento, un conjunto formal de declaraciones de
elementos, atributos y entidades que le indican a un sistema exactamente el tipo
de etiquetado que se utiliza en dicho documento. A menudo se sustituirá 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 (DTD es el acrónimo de
Definición del Tipo de Documento, incluyéndose asimismo en dicha definición
las directrices o convenciones que conforman una aplicación SGML).
• que en consecuencia, el documento contendrá una muestra de documento.
Dicha muestra es lo que se entendía por el documento en sí: el contenido junto
con el etiquetado.

Gracias a SGML se ha conseguido simplificar todos los pasos. En este sistema cada
componente establece los valores y parámetros para el siguiente componente. El único
etiquetado que aparece ha sido declarado en la DTD y la sintaxis de la DTD se ha
indicado mediante la declaración SGML definida por el estándar.
La auténtica ventaja de esta secuenciación de indicaciones es que los ordenadores
pueden seguirla para comprobar si los documentos se adaptan a las reglas establecidas
para ellos mismos. SGML, a pesar de ser un lenguaje incomprensible para los seres
humanos, es un lenguaje informático muy preciso. Esto significa que un programa
informático -un parser- puede leer la declaración SGML y aprender sus reglas, a
continuación leer la DTD y aprender las reglas del etiquetado y finalmente determinar si
la muestra de documento cumple dichas reglas.

¿Cómo se procesa un documento SGML?


Se trata de una validación automática realizada por una máquina. Y en la medida en que
asegura que el contenido que se está enviando a una base de datos o a una máquina de
composición no sufrirá problemas excesivamente graves, no tendrá rivales en el
mercado.

La función del parser es leer el documento SGML y separar los datos del etiquetado. El
parser 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
(capítulo 2), y el gráfico del organigrama de otro capítulo (capítulo 6), 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 (en este caso
para ser editada). Si su contenido incluye instrucciones especiales para el sistema de
edición en su propio lenguaje interno -SGML las denomina 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 y más.

Todo esto y más, y lo que es más importante, sin que resulte visible al ojo humano. Esta
lista -y se trata tan sólo de parte de lo que un parser y un sistema SGML pueden hacer-
describe procesos que pueden llevarse a cabo sin necesidad de que intervenga el
usuario, excepto para corregir errores humanos.

En la actualidad está surgiendo una nueva generación de software que vive y respira
SGML; que saca partido de la DTD para guiar a los usuarios a la hora de crear
documentos que estén bien estructurados; que se sirve de la estructura para dar a los
usuarios una funcionalidad que nunca antes habían tenido.

En un futuro no muy lejano, los usuarios encontrarán de gran utilidad toda la


información que aparece en este artículo. Las complicaciones ocultas detrás de los
interfaces intuitivos no representarán ya un problema al disponer al alcance de su mano
de los poderosos y flexibles componentes de SGML.

La posibilidad de exportar archivos SGML facilitará la integración de su software de


hojas de cálculo, hipertextos y procesamiento de textos. Esta nueva generación de
software trabajará directamente con las DTD y ofrecerá un enfoque lógico con respecto
al tratamiento de la información -basado en la estructura, en los objetos y en los
atributos- mucho más útil que los interfaces para índices, plantillas y hojas de estilo de
hoy en día.

"El intercambio de información independientemente del grado de complejidad" es uno


de los principales objetivos de cualquier estándar. Es por ello que un estándar diseñado
como un lenguaje para construir aplicaciones tendrá muchas posibilidades de triunfar
en el mercado actual.

Por lo tanto, la función de este artículo es presentar los componentes del lenguaje que se
utilizan a la hora de diseñar aplicaciones, con el fin de que se conozcan todas las
posibilidades que ofrece el estándar SGML.

http://www.serv-inf.deusto.es/abaitua/konzeptu/sgml/sgml1.htm

• Proceso
La maquetación o marcación •
tradicional
Proceso
electrónico
Las marcas o etiquetas en el proceso • Etiquetas
descritpivas
tradicional de edición • Etiquetas
procedimental
En todas las editorial existe uno o varios especialistas cuya función es es
marcar el texto manuscrito para indicar el aspecto que debe tener en
su forma impresa. Este proceso recibe el nombre de maquetación • Etiquetado
(markup, en inglés). generalizado

Definiciones de maquetación o markup


El manual de etilo The Chicago Manual of Style define markup de la siguiente manera:

"Es el proceso de marcar un documento manuscrito con instrucciones acerca de cómo se


deben utilizar los tipos de letra, los tamaños, los espacios, el sangrado etc."

Instrucciones para el cajista


En una editorial tradicional, existe la figura del "maquetador" en la que recae la labor de decidir
los formatos y diseños de los libros que se van a imprimir. De acuerdo con estos criterios otra
persona, denominada "corrector de manuscritos", marca detalladamente el libro manuscrito con
instrucciones precisas para el "cajista", quien se ocupa de preparar las pruebas de imprenta.
Estos son algunos ejemplos clásicos de instrucciones para el cajista:

"Times Roman 10/12 x 24", al comienzo de un capítulo indica que el capítulo debe ir en
tipografía Times Roman de 10 puntos con un interlineado de 12 puntos, y una medida de 24
cíceros (línea con longitud de 6 pulgadas);

"10/10 Times Roman sangrar dos cuadratines desde la izquierda" al comienzo de una cita
de bloque indica que se debe componer con una sangría desde el margen izquierdo. Una línea
vertical coloreada a la izquierda indicará la extensión exacta de este ajuste.

La maquetación electrónica
Estas tres figuras del proceso de edición tradicional suelen reducirse en la actualidad a una
sola, el maquetador. Los nuevos medios de edición electrónica agilizan enormemente un
proceso que con frecuencia se subcontrata a empresas especializadas en maquetación y
autoedición.

El procesamiento de textos
Prácticamente la totalidad de los programas informáticos de procesamiento de textos y
sistemas de autoedición modernos disponen de códigos de maquetación.

En estos programas, se utiliza el término "maquetar" para describir cualquier código o


instrucción acerca del formato o diseño de un documento.

La maquetación debe señalar como mínimo los cambios en el tipo de letra (negrita, cursiva
etc.), los saltos de línea, los márgenes, etc.

WYSIWYG
Hoy en día, casi todos los procesadores de texto son del tipo WYSIWYG (What you see is what
you get, 'Obtienes lo que ves'). En ellos el diseño se realiza sobre la pantalla por medio de
teclas de función o mediante opciones de menú.

De esta manera se insertan códigos en el documento que se encargan de recrear el efecto


deseado, tanto cuando se visualiza el documento por pantalla, como cuando se imprime.

En WordPerfect, por ejemplo, la negrita se inserta mediante un código de control (un carácter
ASCII extendido de 8 bits), que al mismo tiempo cambia el color de la visualización en la
pantalla.

Este sistema se corresponde muy estrechamente con el subrayado ondulado y la nota al


margen en "negrita" propia de la corrección tradicional de manuscritos.

En los primeros sistemas WYSIWYG (como en las primeras versiones de WordStar), los
códigos eran visibles en la pantalla. En los sistemas modernos normalmente queda oculto para
el usuario. En muchos casos, existe una opción para visualizar el etiquetado.

Por ejemplo, si el usuario de WordPerfect activa la opción de "mostrar códigos", los códigos
que se visualizan en pantalla son términos significativos encerrados entre corchetes, como
[Negr]para marcar la negrita[negr], (aunque el código es en realidad un solo carácter ASCII
extendido).

http://www.serv-inf.deusto.es/abaitua/konzeptu/sgml/etiqueta.htm

También podría gustarte