Articulo de referencia

Lenguaje de marcado generalizado estándar

.sgml , .sgm "},"_noextcode":{"wt":"y"},"mime":{"wt":" Text/SGML , Application/SGML "},"_nomimecode":{"wt":"y"},"type code":{"wt":""},"uniform type":{"wt":" public.xml {{Cn|date...

El Standard Generalized Markup Language ( SGML ; ISO 8879:1986) es un estándar para definir lenguajes de marcado generalizados para documentos. El Anexo A.1 de ISO 8879 establece que el marcado generalizado se basa en dos postulados : [ 1 ]

  • Declarativo: El marcado debe describir la estructura de un documento y otros atributos, en lugar de especificar el procesamiento que debe realizarse, ya que es menos probable que entre en conflicto con desarrollos futuros.
  • Riguroso: Para que el marcado pueda aprovechar las técnicas disponibles para el procesamiento, debe definir rigurosamente objetos como programas y bases de datos .

DocBook SGML y LinuxDoc son ejemplos que utilizan herramientas SGML.

Versiones estándar

SGML es una norma ISO : "ISO 8879:1986 Procesamiento de la información  – Sistemas de texto y de oficina  – Lenguaje de marcado generalizado estándar (SGML)", de la cual existen tres versiones:

  • La versión original de SGML , que fue aceptada en octubre de 1986, fue seguida de una pequeña corrección técnica.
  • SGML (ENR) , en 1996, fue el resultado de una corrección técnica para agregar reglas de nomenclatura extendidas que permitieran el marcado de lenguajes y sistemas de escritura arbitrarios.
  • SGML (ENR+WWW o WebSGML) , en 1998, fue el resultado de una corrección técnica para brindar un mejor soporte a los requisitos de XML y WWW.

SGML forma parte de un trío de estándares ISO habilitadores para documentos electrónicos desarrollados por ISO/IEC JTC 1/SC 34 [ 1 ] [ 2 ] (Comité Técnico Conjunto ISO/IEC 1, Subcomité 34  – Lenguajes de descripción y procesamiento de documentos)  :

  • SGML (ISO 8879): lenguaje de marcado generalizado
    • SGML fue reelaborado en 1998 y convertido en XML , una versión exitosa de SGML. El SGML completo rara vez se encuentra o se utiliza en proyectos nuevos.
  • DSSSL (ISO/IEC 10179) – Lenguaje de procesamiento y estilo de documentos basado en Scheme .
    • DSSSL se reelaboró ​​y se convirtió en W3C XSLT y XSL-FO , que utilizan una sintaxis XML. Actualmente, DSSSL rara vez se usa en proyectos nuevos, salvo en la documentación de Linux .
  • HyTimeHipertexto generalizado y programación. [ 3 ]
    • HyTime fue parcialmente rediseñado e integrado en W3C XLink . HyTime rara vez se utiliza en proyectos nuevos.

SGML está respaldado por varios informes técnicos, en particular

  • ISO/IEC TR 9573  – Procesamiento de la información  – Instalaciones de soporte SGML  – Técnicas para el uso de SGML [ 4 ]
    • Parte 13: Conjuntos de entidades públicas para matemáticas y ciencias
      • En 2007, el grupo de trabajo MathML del W3C acordó asumir el mantenimiento de estos conjuntos de entidades.

Historia

SGML desciende del Lenguaje de Marcado Generalizado (GML) de IBM , desarrollado por Charles Goldfarb , Edward Mosher y Raymond Lorie en la década de 1960. Goldfarb, editor del estándar internacional, acuñó el término "GML" utilizando las iniciales de sus apellidos. [ 5 ] Goldfarb también escribió la obra de referencia sobre la sintaxis de SGML en "The SGML Handbook". [ 6 ] La sintaxis de SGML se asemeja más al formato COCOA . Como lenguaje de marcado de documentos, SGML se diseñó originalmente para facilitar el intercambio de documentos de proyectos extensos legibles por máquina en el ámbito gubernamental, jurídico e industrial. Muchos de estos documentos deben permanecer legibles durante varias décadas, un periodo considerable en el campo de la tecnología de la información . SGML también se aplicó ampliamente en las fuerzas armadas y en las industrias aeroespacial, de referencia técnica y editorial industrial. La llegada del perfil XML ha hecho que SGML sea adecuado para su aplicación generalizada en proyectos de pequeña escala y de propósito general.

Validez del documento

SGML (ENR+WWW) define dos tipos de validez. Según los Términos y Definiciones revisados ​​de ISO 8879 (del borrador público): [ 7 ]

Un documento SGML conforme debe ser un documento SGML válido en cuanto a tipo, un documento SGML válido en cuanto a etiquetas, o ambos. Nota: Un usuario puede querer imponer restricciones adicionales a un documento, como si una instancia de documento se almacena íntegramente o no contiene referencias a entidades.

Un documento SGML de tipo válido se define según el estándar como: [ 7 ]

Un documento SGML en el que, para cada instancia de documento, existe una declaración de tipo de documento (DTD) asociada a cuya DTD se ajusta dicha instancia.

Un documento SGML con etiquetas válidas se define según el estándar como: [ 7 ]

Un documento SGML, cuyas instancias están completamente etiquetadas. No es necesario que exista una declaración de tipo de documento asociada a ninguna de las instancias. Nota: Si existe una declaración de tipo de documento , la instancia puede analizarse con o sin referencia a ella.

Terminología

La validez de etiquetas se introdujo en SGML (ENR+WWW) para admitir XML que permite documentos sin declaración DOCTYPE pero que pueden analizarse sin una gramática, o documentos que tienen una declaración DOCTYPE que no aportan información XML al documento. El estándar lo llama etiquetado completo . El almacenamiento integral refleja el requisito XML de que los elementos terminen en la misma entidad en la que comenzaron. Sin referencias refleja el requisito HTML de que las referencias a entidades sean para caracteres especiales y no contengan marcado. Los comentarios sobre la validez de SGML, especialmente los que se hicieron antes de 1997 o que desconocen SGML (ENR+WWW), cubren solo la validez de tipos .

El énfasis de SGML en la validez respalda el requisito de que el marcado generalizado sea riguroso. (ISO 8879 A.1)

Sintaxis

Un documento SGML puede tener tres partes:

  1. la Declaración SGML,
  2. el Prólogo, que contiene una declaración DOCTYPE con las diversas declaraciones de marcado que juntas conforman una Definición de Tipo de Documento (DTD), y
  3. la instancia en sí, que contiene un elemento superior y su contenido.

Un documento SGML puede estar compuesto por varias entidades (fragmentos de texto independientes). En SGML, las entidades y los tipos de elementos utilizados en el documento se especifican mediante una DTD. Los diferentes conjuntos de caracteres, características, conjuntos de delimitadores y palabras clave se especifican en la Declaración SGML para crear la sintaxis concreta del documento.

Aunque SGML completo permite el marcado implícito y otros tipos de etiquetas, la especificación XML (s4.3.1) establece:

Cada documento XML posee una estructura lógica y física. Físicamente, el documento se compone de unidades llamadas entidades. Una entidad puede hacer referencia a otras entidades para su inclusión en el documento. Un documento comienza con una entidad raíz o entidad de documento. Lógicamente, el documento se compone de declaraciones, elementos, comentarios, referencias de caracteres e instrucciones de procesamiento , todos los cuales se indican en el documento mediante marcado explícito.

Para obtener información introductoria sobre la sintaxis básica y moderna de SGML, consulte XML . El siguiente material se centra en características que no están presentes en XML y no constituye un resumen exhaustivo de la sintaxis de SGML.

Características opcionales

SGML generaliza y admite una amplia gama de lenguajes de marcado, como los que existían a mediados de la década de 1980. Estos abarcaban desde sintaxis concisas tipo Wiki hasta lenguajes con corchetes tipo RTF y lenguajes con etiquetas coincidentes tipo HTML . SGML lograba esto mediante una sintaxis de referencia concreta predeterminada relativamente simple , complementada con una gran cantidad de características opcionales que podían habilitarse en la Declaración SGML. No todos los analizadores SGML pueden procesar necesariamente todos los documentos SGML. Dado que la Declaración del Sistema de cada procesador se puede comparar con la Declaración SGML del documento, siempre es posible saber si un documento es compatible con un procesador en particular.

Muchas características de SGML están relacionadas con la minimización del marcado. Otras características están relacionadas con el marcado concurrente (paralelo) (CONCUR), con la vinculación de atributos de procesamiento (LINK) y con la incrustación de documentos SGML dentro de otros documentos SGML (SUBDOC).

La idea de funciones personalizables no era apropiada para el uso web, por lo que uno de los objetivos de XML fue minimizar las funciones opcionales. Sin embargo, las reglas de buena formación de XML no admiten lenguajes tipo wiki, lo que los deja sin estandarizar y dificulta su integración con sistemas de información que no sean textuales.

Sintaxis concretas y abstractas

La sintaxis concreta SGML habitual (por defecto) se asemeja a este ejemplo, que es la sintaxis concreta HTML por defecto:

<QUOTE TYPE= "example" > normalmente algo como <ITALICS> esto </ITALICS> </QUOTE>

SGML proporciona una sintaxis abstracta que puede implementarse en muchos tipos diferentes de sintaxis concreta . Aunque la norma de marcado utiliza corchetes angulares como delimitadores de etiquetas de inicio y fin en un documento SGML (según la sintaxis concreta de referencia definida por el estándar ), es posible utilizar otros caracteres, siempre que se defina una sintaxis concreta adecuada en la declaración SGML del documento . [ 8 ] Por ejemplo, un intérprete SGML podría programarse para analizar GML, donde las etiquetas están delimitadas por dos puntos a la izquierda y un punto a la derecha , y un :eprefijo denota una etiqueta de fin: :xmp.Hello, world:exmp.. Según la sintaxis de referencia, no se distingue entre mayúsculas y minúsculas en los nombres de las etiquetas, por lo que las tres etiquetas , , y son equivalentes. (Una sintaxis concreta podría cambiar esta regla mediante las declaraciones NAMECASE NAMING).<quote><QUOTE><quOtE>

Minimización de márgenes

SGML incluye funciones para reducir la cantidad de caracteres necesarios para marcar un documento, las cuales deben habilitarse en la Declaración SGML. Los procesadores SGML no necesitan admitir todas las funciones disponibles, lo que permite que las aplicaciones toleren muchos tipos de omisiones de marcado involuntarias; sin embargo, los sistemas SGML suelen ser intolerantes con las estructuras no válidas. XML es intolerante con las omisiones de sintaxis y no requiere una DTD para verificar la corrección sintáctica.

OMITIR ETIQUETA

Tanto las etiquetas de inicio como las de cierre pueden omitirse de una instancia de documento, siempre que:

  1. La función OMITTAG está habilitada en la Declaración SGML,
  2. La DTD indica que se permite omitir las etiquetas,
  3. (para etiquetas de inicio) el elemento no tiene atributos obligatorios ( #REQUIRED) asociados, y
  4. La etiqueta se puede inferir inequívocamente por el contexto.

Por ejemplo, si se especifica OMITTAG YES en la Declaración SGML (habilitando la función OMITTAG) y el DTD incluye las siguientes declaraciones:

<!ELEMENT chapter - - ( título , sección +) > <!ELEMENT title o o ( #PCDATA ) > <!ELEMENT section - - ( título , subsección +) >

Luego este fragmento:

<capítulo> Introducción a SGML <sección> La Declaración SGML <subsección> ... 

que omite dos etiquetas y dos etiquetas, representaría un marcado válido.<title></title>

Omitir las etiquetas es opcional  ; el mismo fragmento podría etiquetarse de esta manera:

<capítulo><título> Introducción a SGML </título> <sección><título> La declaración SGML </ título> <subsección> ... 

y seguiría representando un marcado válido.

Nota: La función OMITTAG no está relacionada con el etiquetado de elementos cuyo contenido declarado es EMPTYel definido en la DTD:

<!ELEMENTO imagen - o VACÍO >

Los elementos definidos de esta manera no tienen etiqueta de cierre, y especificar una en la instancia del documento daría como resultado un marcado no válido. Esto difiere sintácticamente de los elementos vacíos XML en este aspecto.

SHORTREF

Las etiquetas se pueden reemplazar con cadenas delimitadoras, para un marcado más conciso, mediante la función SHORTREF. Este estilo de marcado ahora está asociado con el marcado wiki , por ejemplo, donde dos signos de igual (==) al comienzo de una línea son la "etiqueta de inicio de encabezado", y dos signos de igual (==) después son la "etiqueta de cierre de encabezado".

SHORTTAG

Los lenguajes de marcado SGML cuya sintaxis concreta permite la función SHORTTAG VALUE no requieren que los valores de los atributos que contienen solo caracteres alfanuméricos se encierren entre comillas, ya sean dobles " "(LIT) o simples ' '(LITA), de modo que el ejemplo de marcado anterior podría escribirse así:

<QUOTE TYPE= example > normalmente algo como <ITALICS> esto < /> </QUOTE>

Una característica de los lenguajes de marcado SGML es el "etiquetado vacío presuntivo", de modo que la etiqueta de cierre vacía en "hereda" su valor de la etiqueta de inicio completa anterior más cercana, que, en este ejemplo, es (en otras palabras, cierra el elemento abierto más recientemente). La expresión es, por lo tanto, equivalente a .</><ITALICS>this</><ITALICS><ITALICS>this</ITALICS>

NETO

Otra característica es la construcción NET (Null End Tag): <ITALICS/this/, que es estructuralmente equivalente a .<ITALICS>this</ITALICS>

Otras características

Además, la función SHORTTAG NETENABL IMMEDNET permite acortar las etiquetas que rodean un valor de texto vacío, pero prohíbe acortar etiquetas completas:

<QUOTE></QUOTE>

se puede escribir como

<CITA//

donde la primera barra ( / ) representa el "cierre de etiqueta de inicio" (NESTC) que habilita NET, y la segunda barra representa NET. NOTA: XML define NESTC con una / y NET con un > (corchete angular); por lo tanto, la construcción correspondiente en XML aparece como <QUOTE/> .

La tercera característica es "texto en la misma línea", que permite que un elemento de marcado finalice con un salto de línea; especialmente útil para encabezados y similares, que requieren el uso de la minimización SHORTREF o DATATAG. Por ejemplo, si el DTD incluye las siguientes declaraciones:

<!ELEMENTO líneas ( línea *) > <!ELEMENTO línea O - ( #PCDATA ) > <!ENTIDAD line-tagc "</line>" > <!SHORTREF one-line "&#RE;&#RS;" line-tagc > <!USEMAP one-line línea >

(y " & #RE; & #RS;" es un delimitador de referencia corta en la sintaxis concreta), entonces:

<líneas> primera línea segunda línea </líneas>

es equivalente a:

<líneas> <línea> primera línea </línea> <línea> segunda línea </línea> </líneas>

caracterización formal

SGML tiene muchas características que desafiaron una descripción conveniente con la teoría popular de autómatas formales y la tecnología de analizadores sintácticos contemporánea de las décadas de 1980 y 1990. El estándar advierte en el Anexo H:

La notación de grupos de modelos SGML se diseñó deliberadamente para asemejarse a la notación de expresiones regulares de la teoría de autómatas , ya que esta proporciona una base teórica para algunos aspectos de la noción de conformidad con un modelo de contenido. No debe asumirse la aplicabilidad general de los autómatas a los modelos de contenido.

Un informe sobre una implementación temprana de un analizador para SGML básico, el analizador SGML de Ámsterdam, [ 9 ] señala

La gramática DTD en SGML debe ajustarse a una noción de no ambigüedad que se asemeja mucho a las condiciones LL(1).

y especifica varias diferencias.

No parece existir una clasificación definitiva de SGML completa frente a una clase conocida de gramática formal . Las clases plausibles podrían incluir gramáticas de adjunción de árboles y gramáticas adaptativas .

XML se describe como generalmente analizable como una gramática de dos niveles para XML no validado y una tubería de corrutinas al estilo Conway ( lexer , parser , validator) para XML válido. [ 10 ] Se informa que las producciones SGML en el estándar ISO son LL(3) o LL(4). [ 11 ] Se informa que los subconjuntos de clases XML se pueden expresar usando una gramática W. [ 12 ] Según un artículo, [ 13 ] probablemente se considera a nivel de conjunto de información o árbol de análisis en lugar de a nivel de carácter o delimitador:

La clase de documentos que se ajustan a una gramática de documentos SGML dada forma un lenguaje LL(1). ... Sin embargo, las gramáticas de documentos SGML por sí solas no son gramáticas LL(1).

El estándar SGML no define SGML con estructuras de datos formales, como árboles de análisis sintáctico ; sin embargo, un documento SGML se construye a partir de un grafo acíclico dirigido con raíz (RDAG) de unidades de almacenamiento físico conocidas como " entidades ", que se analiza sintácticamente en un RDAG de unidades estructurales conocidas como "elementos". El grafo físico se caracteriza de forma general como un árbol de entidades , pero las entidades pueden aparecer varias veces. Además, el grafo estructural también se caracteriza de forma general como un árbol de elementos , pero el marcado ID/IDREF permite arcos arbitrarios.

Los resultados del análisis sintáctico también pueden interpretarse como un árbol de datos en diferentes notaciones, donde el documento es el nodo raíz y las entidades en otras notaciones (texto, gráficos) son nodos hijos. SGML proporciona herramientas para vincular y anotar entidades externas que no son SGML.

El estándar SGML lo describe en términos de mapas y modos de reconocimiento (s9.6.1). Cada entidad y cada elemento pueden tener una notación asociada o un tipo de contenido declarado , que determina los tipos de referencias y etiquetas que se reconocerán en esa entidad y elemento. Además, cada elemento puede tener un mapa de delimitadores asociado (y un mapa de referencias cortas ), que determina qué caracteres se tratan como delimitadores en contexto. El estándar SGML caracteriza el análisis sintáctico como una máquina de estados que cambia entre modos de reconocimiento. Durante el análisis sintáctico, hay una pila de mapas que configuran el escáner , mientras que el tokenizador se relaciona con los modos de reconocimiento.

El análisis sintáctico implica recorrer el grafo de entidades recuperado dinámicamente, encontrar/inferir etiquetas y la estructura de los elementos, y validar dichas etiquetas con respecto a la gramática. Un aspecto inusual de SGML es que la gramática (DTD) se utiliza tanto de forma pasiva  —para reconocer estructuras léxicas— como activa  —para generar estructuras y etiquetas faltantes que la DTD ha declarado opcionales—. Las etiquetas de inicio y fin pueden omitirse, ya que pueden inferirse. En términos generales, una serie de etiquetas solo puede omitirse si existe una única ruta posible en la gramática para inferirlas. Fue este uso activo de las gramáticas lo que dificultó la caracterización formal del análisis sintáctico concreto de SGML.

SGML utiliza el término validación tanto para el reconocimiento como para la generación. XML no utiliza la gramática (DTD) para modificar los mapas de delimitadores ni para informar sobre los modos de análisis, y no permite la omisión de etiquetas ; por consiguiente, la validación de elementos XML no es activa en el sentido en que lo es la validación SGML. SGML sin una DTD (por ejemplo, XML simple) es una gramática o un lenguaje; SGML con una DTD es un metalenguaje . SGML con una declaración SGML es, quizás, un meta-metalenguaje, puesto que es un metalenguaje cuyo mecanismo de declaración es un metalenguaje.

SGML posee una sintaxis abstracta implementada mediante diversas sintaxis concretas; sin embargo, este uso no es el mismo que el de un árbol de sintaxis abstracta y el de un árbol de sintaxis concreta . En SGML, una sintaxis concreta es un conjunto de delimitadores específicos, mientras que la sintaxis abstracta es el conjunto de nombres para dichos delimitadores. El conjunto de información XML se corresponde más con la noción de sintaxis abstracta propia de los lenguajes de programación, introducida por John McCarthy .

Derivados

XML

El W3C XML (Lenguaje de Marcado Extensible) es un perfil (subconjunto) de SGML diseñado para facilitar la implementación del analizador en comparación con un analizador SGML completo, principalmente para su uso en la World Wide Web. Además de deshabilitar muchas opciones de SGML presentes en la sintaxis de referencia (como la omisión de etiquetas y subdocumentos anidados), XML agrega una serie de restricciones adicionales sobre los tipos de sintaxis SGML. Por ejemplo, a pesar de permitir formas de etiquetas SGML abreviadas, XML no permite etiquetas de inicio o fin sin cerrar. También se basó en muchas de las adiciones realizadas por el Anexo WebSGML. Actualmente, XML es más utilizado que SGML completo. XML tiene una internacionalización ligera basada en Unicode . Las aplicaciones de XML incluyen XHTML , XQuery , XSLT , XForms , XPointer , JSP , SVG , RSS , Atom , XML-RPC , RDF/XML y SOAP .

HTML

Aunque HTML (Lenguaje de Marcado de Hipertexto) se desarrolló parcialmente de forma independiente y en paralelo con SGML, su creador, Tim Berners-Lee , lo concibió como una aplicación de SGML. [ 14 ] [ 15 ] Por lo tanto, el diseño de HTML se inspiró en el etiquetado de SGML, pero, dado que no se establecieron directrices claras de expansión y análisis, la mayoría de los documentos HTML actuales no son documentos SGML válidos. Posteriormente, HTML se reformuló (versión 2.0) para ser más una aplicación de SGML; sin embargo, el lenguaje de marcado HTML tiene muchas características de manejo de excepciones y de herencia que difieren de los requisitos de SGML. HTML 4 es una aplicación SGML que cumple totalmente con la norma ISO 8879  – SGML. [ 16 ]

El acta fundacional para la reactivación en 2006 del Grupo de Trabajo HTML del Consorcio World Wide Web establece que «el Grupo no asumirá que se utiliza un analizador SGML para el “HTML clásico » . [ 17 ] Aunque la sintaxis HTML se asemeja mucho a la sintaxis SGML con la sintaxis concreta de referencia predeterminada , HTML5 abandona cualquier intento de definir HTML como una aplicación SGML, definiendo explícitamente sus propias reglas de análisis, [ 18 ] que se ajustan mejor a las implementaciones y documentos existentes. Sin embargo, define una serialización XHTML alternativa , que cumple con XML y, por lo tanto, también con SGML. [ 19 ]

OED

Un fragmento del Diccionario de inglés de Oxford (1985), que muestra el marcado SGML.

La segunda edición del Oxford English Dictionary (OED) está completamente marcada con un lenguaje de marcado basado en SGML utilizando el editor de texto LEXX . [ 20 ]

La tercera edición está marcada como XML.

Otros

Otros lenguajes de marcado de documentos están parcialmente relacionados con SGML y XML, pero, dado que no pueden ser analizados, validados ni procesados ​​de ninguna otra manera utilizando las herramientas estándar de SGML y XML, no se consideran lenguajes ni SGML ni XML; el lenguaje de marcado Z Format para composición tipográfica y documentación es un ejemplo.

Varios lenguajes de programación modernos admiten etiquetas como tipos de tokens primitivos, o ahora admiten Unicode y la coincidencia de patrones mediante expresiones regulares . Un ejemplo es el lenguaje de programación Scala .

Aplicaciones

Los lenguajes de marcado de documentos definidos con SGML se denominan "aplicaciones" según el estándar. Muchas aplicaciones SGML anteriores a XML eran propiedad de las organizaciones que las desarrollaron y, por lo tanto, no estaban disponibles en la World Wide Web. La siguiente lista muestra aplicaciones SGML anteriores a XML.

  • La Iniciativa de Codificación de Texto (TEI, por sus siglas en inglés) es un consorcio académico que diseña, mantiene y desarrolla estándares técnicos para aplicaciones de representación textual en formato digital.
  • DocBook es un lenguaje de marcado creado originalmente como una aplicación SGML, diseñada para la elaboración de documentación técnica; actualmente, DocBook es una aplicación XML.
  • CALS (Adquisición Continua y Apoyo al Ciclo de Vida) es una iniciativa del Departamento de Defensa de los Estados Unidos (DoD) para la captura electrónica de documentos militares y para la vinculación de datos e información relacionados.
  • HyTime define un conjunto de tipos de elementos orientados al hipertexto que permiten a los autores de documentos SGML crear presentaciones multimedia y de hipertexto.
  • El sistema EDGAR (Recopilación, Análisis y Recuperación Electrónica de Datos) automatiza la recopilación, validación, indexación, aceptación y envío de documentos presentados por empresas y otras entidades que están legalmente obligadas a presentar formularios de datos e información ante la Comisión de Bolsa y Valores de los Estados Unidos (SEC).
  • LinuxDoc . La documentación para paquetes de Linux ha utilizado el DTD SGML de LinuxDoc y el DTD XML de Docbook.
  • AAP DTD es una definición de tipo de documento para documentos científicos , definida por la Asociación de Editores Estadounidenses .
  • ISO 12083 , sucesor de AAP DTD, es un estándar SGML internacional para el intercambio de documentos entre autores y editores.
  • SGMLguid fue una de las primeras definiciones de tipo de documento SGML creada, desarrollada y utilizada en el CERN .

Implementaciones de código abierto

Entre las implementaciones de código abierto más importantes de SGML se incluyen:

  • ASP-SGML
  • ARC-SGML , por Standard Generalized Markup Language Users', 1991, lenguaje C
  • SGMLS , por James Clark, 1993, lenguaje C
  • Proyecto YAO , del Instituto Tecnológico Yuan-ze, Taiwán, con Charles Goldfarb, 1994.
  • SP y Jade, de James Clark, lenguaje C++.

SP y Jade, los procesadores DSSSL asociados, son mantenidos por el proyecto OpenJade y son componentes comunes de las distribuciones de Linux. Un archivo general de software y materiales SGML reside en SUNET . La clase de analizador HTML original, en la implementación de Java de Sun System, es un analizador SGML con funciones limitadas, que utiliza la terminología y los conceptos de SGML.

Véase también

Referencias

  1. 1 2 ISO (5 de marzo de 2008). "JTC 1/SC 34 – Lenguajes de descripción y procesamiento de documentos" . ISO . Consultado el 25 de diciembre de 2009 .
  2. ISO JTC1/SC34. "JTC 1/SC 34 – Lenguajes de descripción y procesamiento de documentos" . Consultado el 25 de diciembre de 2009 .{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  3. ISO/IEC 10744  – Hytime
  4. "ISO/IEC TR 9573" (PDF) . ISO . 1991 . Consultado el 5 de diciembre de 2017 .
  5. Goldfarb, Charles F. (1996). "Las raíces de SGML: un recuerdo personal" . Archivado del original el 20 de diciembre de 2012. Recuperado el 7 de julio de 2007 .
  6. Goldfarb, Charles F. (1990). The SGML Handbook . Clarendon Press. ISBN 9780198537373.
  7. 1 2 3 "Términos y definiciones del borrador de la norma ISO 8879" .
  8. Wohler, Wayne (21 de julio de 1998). "Declaraciones SGML" . Archivado del original el 28 de mayo de 2009. Recuperado el 17 de agosto de 2009 .
  9. Egmond (diciembre de 1989). "La implementación del analizador SGML de Ámsterdam" (PDF) .
  10. Carroll, Jeremy J. (26 de noviembre de 2001). "CoParsing of RDF & XML" (PDF) . Hewlett-Packard . Consultado el 9 de octubre de 2009 .
  11. "SGML: Producciones gramaticales" .
  12. "Re: Otros problemas de espacios en blanco era Re: Reglas de espacios en blanco (v2)" .
  13. Bruggemann-Klein. "Herramientas y técnicas de construcción de compiladores para analizadores sintácticos SGML: dificultades y soluciones" .
  14. "Capítulo 2" . www.w3.org . Consultado el 16 de julio de 2025 .
  15. "Familia de formatos del lenguaje de marcado de hipertexto (HTML)" . www.loc.gov . 25 de abril de 2023. Consultado el 16 de julio de 2025 .
  16. "Conformidad con HTML 4–4: requisitos y recomendaciones" . Consultado el 30 de diciembre de 2009 .
  17. Lilley, Chris ; Berners-Lee, Tim (6 de febrero de 2009). "Estatutos del Grupo de Trabajo HTML" . Recuperado el 19 de abril de 2007 .
  18. "HTML5 — Análisis de documentos HTML" . Consorcio World Wide Web . 28 de octubre de 2014. Consultado el 29 de junio de 2015 .
  19. Dubost, Karl (15 de enero de 2008). "HTML 5, un vocabulario, dos serializaciones" . Blog de preguntas y respuestas . W3C . Consultado el 25 de febrero de 2009 .
  20. Cowlishaw, MF (1987). "LEXX: un editor estructurado programable". IBM Journal of Research and Development . 31 (1). IBM : 73. doi : 10.1147/rd.311.0073 .
  • Información general sobre los recursos de SGML en el sitio web del W3C.
  • Introducción y ejemplos de documentación de software en SGML
  • Archivo del Comité SC34 , Instituto Charles Babbage  : Colección sobre el desarrollo de SGML y otros estándares que influyeron en el desarrollo de las herramientas XML actuales; los documentos incluyen borradores iniciales de materiales administrativos de SGML, documentación, documentos de grupos de trabajo y estándares para lenguajes informáticos.
  • Resumen de la sintaxis SGML por Charles Goldfarb
  • Documento SGML que te introduce a SGML ; Algunas razones por las que SGML es importante
  • La Declaración SGML , en SGML y HTML explicados, Martin Bryan (1997) (la URL original está rota en http://www.is-thought.co.uk/book/sgml-4.htm#Fig4-2 )
  • Declaraciones SGML Wayne Wohler, IBM Corporation, 1994.
  • ISO 9069:1988  – Procesamiento de la información  – Funcionalidades de soporte SGML  – Formato de intercambio de documentos SGML (SDIF)
  • ISO/IEC 9070:1991  – Tecnología de la información  – Funcionalidades de soporte SGML  – Procedimientos de registro para identificadores públicos de propietarios de textos