Le langage SGML (Standard Generalized Markup Language) est un langage qui permet de définir des types de documents.
On peut par exemple définir grâce à lui un type de document recette de cuisine, qui précisera qu'il faudra y inclure une première partie avec les différents ingrédients, puis une deuxième avec les accessoires, une troisième donnant la façon de faire votre gâteau pas à pas, et enfin une belle photo qui montre le résultat final.
Cette définition d'un type de document est appelé DTD (Document Type Definition). Elle ne permet pas de définir quelle sera l'allure du document final, mais seulement ce qu'il contiendra ou pourra contenir.
Pour reprendre l'exemple précédent, je suis sûr qu'en lisant l'idée que je me fais d'une recette de cuisine, vous avez reconnu celles que vous ou votre cuistot attitré utilisez. Et pourtant, elles ont une allure complètement différente : les miennes ont une photo qui se trouve en haut à gauche du placard de la salle de bain, et la liste des ingrédients se trouve entre les bouteilles de lait et de gaz au fond du jardin. Et les vôtres ?
Grâce à cette définition type, quelqu'un peut écrire son document, sans tenir compte de la forme qu'il aura quand il arrivera devant les yeux du lecteur.
LinuxDoc
Ce type permet d'écrire, vous l'aviez deviné, des documents se reportant à Linux.
Ces documents sont en général construits ainsi : ils commencent par un titre suivi de l'auteur, de la date de diffusion et de la version de ce document. Suit juste après un court paragraphe qui explique brièvement ce que contient ce document (ce qui évite d'attendre de l'avoir fini pour se rendre compte que ce n'est pas du tout ce que l'on recherchait) puis une table des matières qui montre plus en détail son contenu et permet aux plus pressés d'aller voir directement ce qu'ils cherchent.
Et vient ensuite une suite de chapitres, sections, paragraphes. Au milieu de ces paragraphes, on peut insérer des morceaux de programme, ou changer de police de caractères pour faire ressortir un mot ou un passage, ou encore y insérer des listes, faire référence à une autre partie du document, et d'autres choses encore.
Pour écrire un tel document, il suffit alors de préciser au bon moment le titre, l'auteur, la date et la version du document, puis les chapitres et sections, dire quand il faut insérer une liste et quels en sont les éléments, et ainsi de suite.
SGML-Tools
Les SGML-Tools permettent, à partir de cette spécification du document, d'obtenir le document final dans le format que vous préférez. Si vous voulez l'ajouter à votre bibliothèque personnelle, ce sera sûrement du PostScript, si vous voulez le faire partager au reste de la planète à travers le Web, pourquoi pas du HTML, ou si vous craquez et voulez le lire sous Windows, vous pouvez toujours l'avoir en RTF pour pouvoir le lire sous n'importe quel éditeur de texte. Ou peut-être sous chacun de ces formats, si vous avez des humeurs changeantes.
La distribution SGML-Tools peut être récupérée via FTP anonyme dans le répertoire ftp://ftp.lip6.fr/pub/sgml-tools/