# Generalized Markup Language

Le langage Generalized Markup Language, appelé également GML, est la première version de langage de balisage proposé par IBM. Ce langage permettra à IBM de construire un système de gestion de toute sa documentation. 90 % des documents techniques sont écrits en GML. Ce langage est l’ancêtre du SGML et du HTML. Le HTML reprend d’ailleurs une grande partie de son concept.

## Histoire du GML
### La première généralisation des balises dans le langage GenCode 1967 : Recherche fondamentale du GCA

En 1967, William Tunnicliffe présente pour la première fois une approche pour séparer le fond du document par rapport à sa forme. C’est le début du GCA GenCode Committee qui élaborera les bases du premier langage de balisage généralisé.

### L’ancêtre du SGML : le GML 1969 : Recherche fondamentale d’IBM

En 1969, Charles Goldfarb est responsable d'un projet de recherche d'un système d'information intégré pour la documentation d'IBM. Il s’appuiera sur les travaux de William Tunnicliffe. Avec Edward Mosher et Raymond Lorie ils inventent le GML, un acronyme de leurs noms (Goldfarb, Mosher et Lorie) ).
Ce premier langage de balisage est l'ancêtre du SGML. L'objectif initial poursuivi par Charles F. Goldfarb, avant d'être sollicité par IBM, était de faciliter la tâche des juristes, en élaborant un système de gestion intégré du droit (Charles F. Goldfarb est juriste de formation). Les juristes rencontraient des difficultés dans la recherche des textes de loi et de la jurisprudence associée.
C'est finalement au sein d'IBM que Charles F. Goldfarb, avec ses deux collègues, Edward Mosher et Raymond Lorie, en développe une version commerciale, dédiée à la documentation, qui sera l'objet d'une offre logiciel sur le document appelé «Document Composition Facility». Cette offre contiendra le profile Starter Set du GML des trois inventeurs. Ce concept donnera quelques suites commerciales à ses produits; on trouvera notamment IPDT (Integrated Processing of Data and Text) distribué gracieusement dans l’offre (program offering), puis ASF (Application Support Facility) pour les aspects transactionnels (gestion de courrier, note, formulaire), qui sera tarifé et utilisé principalement par les compagnies d’assurances et les banques pour personnaliser leur communication client.

## La première version en 1978, commercialisée par IBM en 1980

Dans sa première version, publiée en 1978 et commercialisée en 1980, le GML appelé Generalized Markup Language (le parser est le profile SCRIPT/VS DSMPROF qui fait également office de DTD) contient déjà les principales balises que l'on retrouvera plus tard dans le HTML. Avec des balises de fin pour les balises structurantes et des balises de références pour les index et tables de matières ou table de figures. Les balises hiérarchiquement plus élevées dans une balise structurante de niveau inférieur fermaient automatiquement la balise précédemment ouverte. Par la suite un certain nombre de DTD basées sur le premier GML ont été proposés par IBM pour faciliter la conception :

### DSMPROF3 (Starter Set Profile V3.2)

    DTD du Generalized Markup Language contenant la description des balises ainsi que le parser permettant de valider à priori le document.

### DSMPROF4 (Starter Set Profile V4.0)

    Dernière version de 1991 de la DTD DSMPROF

### DSMGM4 (Macro Library)

    Dernière version de 1991 de la DTD contenant toutes les macros des balises

### DSMBPROF (Bar Code Profile)

    DTD pour l'écriture de code à barres.

### DSMMPROF (Memo Profile)

    DTD Permet la rédaction de note ou mémo.

### DSMTPROF (Transparency Profile)

    DTD pour la réalisation de transparent. La mise en forme adopte des polices de caractères avec des corps plus importants.

### DSMSPROF (Schedule Profile)

    DTD réalisée pour réaliser des diagrammes de suivi de projet avec les jalons, tâches, réalisé, prévu, …
Ces DTD appelées profile par IBM contiennent la référence de chaque balise et l'identifiant de la macro associée. Chaque balise dispose d'une macro dédiée qui permet la validation (parser), puis la mise en forme (DTD).

## Les balises du GML

Les balises du GML :
| :ABSTRACT. :ADDRESS. :ALINE. :EADDRESS. :APPENDIX. :BACKM. :BODY. :CIT. :DL. :DTHD. :DDHD. :LP. :EDL. :FIG. :FIGCAP. :FIGDESC. :EFIG. :FIGLIST. :FIGREF. :FN. :FNREF. :FRONTM. | :GDOC. :GL. :GT. :GD. :LP. :EGL. :h0. :h1. :h2. :h3. :h4. :h5. :h6. :HDREF. :HP0. :HP1. :HP2. :HP3. :EHP3. :EHP2. :EHP1. :EHP0. :I1. :I2. :I3. :IH1. :IH2. IH3. :INDEX. :IREF. | :LIREF. :SL. :OL. :UL. :LI. :ESL. :EOL. /EUL. :LQ. :NOTE. :P. :PC. :PREFACE. :PSC. :Q. :RDEF. :TABLE. :ROW. :C. :TFT. :THD. :TCAP. :TDESC. :ETABLE. :TLIST. :TNOTE.* :TREF. :TITLEP. :TITLE. :DOCNUM. :DATE. :AUTHOR. :ETITLEP. :TOC. :XMP. |
On retrouve une grande partie des balises qui feront par la suite le HTML.

## Structure d’un document en GML

La structure du document est proposée. Il s'agit du principal apport de ce concept « la structuration du document ». Il aboutira d'ailleurs plus tard au concept d'architecture objet pour les documents avec l'AFP (Advanced Function Presentation).

### Les versions et évolutions du GML

La première version GML livrée par IBM au sein de son offre DCF se nommait « Document Composition Facility Generalized Markup Language: Starter Set Reference ». Ce document dans sa première version est daté d'avril 1980 (Order number SH20-9187-0) et pour sa septième et dernière version de 1991 (SH20-9187-6).
Le GML donnera naissance en 1974 au SGML à la suite des travaux de Charles Goldfarb. Il sera le principal acteur de la publication de la norme SGML ISO 8879 en 1986. En 1998 c’est le XML qui découlera également de ce premier concept.