Qu'est-ce que le SGML (Standard Generalized Markup Language) ?

Par : TutorialsGrey, le 28 Novembre 2021

Le SGML (Standard Generalized Markup Language) est une spécification ISO pour définir des langages de balisage générique pour des documents. Il s'agit d'une norme internationale pour la définition des langages de balisage. Le balisage consiste en des notations appelées balises qui spécifient la fonction d'un morceau de texte ou la manière dont il doit être affiché. Publiée sous le nom ISO 8879:1986, la norme est maintenue et révisée périodiquement sous les auspices de l'ISO / IEC JTC 1 / SC 34.

Le SGML est une norme sur la manière de spécifier un langage de balisage de document ou un ensemble de balises. Une telle spécification est elle-même une définition de type de document (DTD pour Document Type Definition). Le SGML n'est donc pas en soi un langage de balisage, mais une description de la manière d'en spécifier un. Il s'agit donc d'un métalangage.

Le SGML est utilisé pour spécifier des DTD (Document Type Definition). Une DTD définit un type de document, tel qu'un rapport, en spécifiant les éléments qui doivent apparaître dans le document (par exemple, <title>) ; et en donnant des règles pour l'utilisation des éléments du document (par exemple, un paragraphe peut apparaître dans une cellule de tableau, mais un tableau ne peut pas apparaître dans un paragraphe).

 

Le SGML repose sur l'idée que les documents possèdent des éléments structurels (balises) et d'autres éléments sémantiques qui peuvent être décrits sans référence à la manière dont ces éléments doivent être affichés. L'affichage réel d'un tel document peut varier, en fonction du support de sortie et des préférences stylistiques. Les documents basés sur le SGML présentent certains avantages : 

  • Ils peuvent être créés en pensant en termes de structure de document plutôt qu'en termes de caractéristiques d'apparence (qui peuvent changer avec le temps).
  • Ils seront plus portables car un compilateur SGML peut interpréter n'importe quel document en se référant à sa définition de type de document (DTD).
  • Les documents destinés à l'origine au support imprimé peuvent facilement être réadaptés à d'autres supports, comme l'écran d'un ordinateur.

Le langage utilisé par les navigateurs web, le langage HTML, est un exemple de langage basé sur le SGML. Il existe une définition de type de document pour le HTML (et lire la spécification du HTML revient à lire une version étendue de la définition de type de document).

Le SGML est quelque peu basé sur des langages de balisage généralisés antérieurs développés par IBM, notamment le General Markup Language (GML) et l'Information Structure Identification Language (ISIL).

 

 

 

Caractéristiques du SGML

Le SGML présente les caractéristiques suivantes :

  • Balisage descriptif
  • Types de documents

Le balisage descriptif implique l'utilisation de codes de balisage qui identifient la manière dont les différentes parties d'un document doivent être interprétées. Par exemple, le code peut identifier une partie comme un paragraphe, une autre comme une note de bas de page et une autre encore comme une liste ou un élément d'une liste.

Une autre caractéristique importante du SGML est l'utilisation de types de documents et, par conséquent, de définitions de types de documents (DTD). Un type de document particulier est censé avoir des parties spécifiques et une structure spécifique. Par exemple, lorsqu'il existe une DTD pour un rapport, les parties et la structure du document doivent suivre ce qui est défini dans la DTD pour qu'il soit considéré comme un rapport. Un avantage majeur est que les documents de même type peuvent être traités uniformément par tous les logiciels capables de les traiter.

 

Conclusion

Le SGML (Standard Generalized Markup Language) est un métalangage normalisé sous le nom ISO 8879:1986. Il sert de norme internationale pour la définition des langages de balisage. Sur le web, HTML, XHTML et XML sont des exemples populaires de langages basés sur SGML.