<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>SGML et les outils SGML</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="Comprendre DocBook (Guide pratique)" /><link rel="up" href="index.html" title="Comprendre DocBook (Guide pratique)" /><link rel="prev" href="ar01s11.html" title="Pratiques et standards apparentés" /><link rel="next" href="ar01s13.html" title="Références" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">SGML et les outils SGML</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s11.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s13.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="sgml" />SGML et les outils SGML</h2></div></div></div><p> Dans les sections précédentes j'ai laissé de coté une bonne partie de l'historique de DocBook. XML a un grand frère, SGML<a class="indexterm" id="N102F4" /> ou <span class="foreignphrase" lang="en"><em class="foreignphrase">Standard Generalized Markup Language</em></span>. </p><p> Jusqu'en mi-2002, aucune discussion au sujet de DocBook n'aurait été complète sans une longue excursion dans SGML, les différences entre SGML et XML et des descriptions détaillées de la chaîne logicielle SGML DocBook. La vie est désormais plus simple. Une chaîne logicielle XML DocBook libre est disponible, elle fonctionne aussi bien que ne l'a jamais fait la chaîne SGML et est beaucoup plus facile à utiliser. Si vous ne pensez jamais avoir à traiter d'anciens documents SGML DocBook, vous pouvez sauter la suite de cette section. </p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N102FF" />DocBook SGML</h3></div></div></div><p> DocBook était à l'origine une application de SGML et il existait une chaîne logicielle DocBook basée sur SGML, qui est désormais moribonde. Il existe des différences mineures entre la DTD DocBook SGML et la DTD DocBook XML que nous pouvons ignorer ici. La seule qui soit visible par les utilisateurs est le fait que les balises SGML vides ne nécessitent pas d'avoir une barre oblique ajoutée avant le > de fermeture (la barre oblique obligatoire signifie que les analyseurs XML peuvent être beaucoup plus simples car ils n'ont pas à connaître la DTD pour savoir quelles balises d'ouverture nécessitent des balises de fermeture). </p><p> Jusqu'à la version 4.01 (avant XHTML), HTML était une application de SGML. TEI était à l'origine également une application de SGML. Les équipes en charge de ces deux DTD sont passées à XML pour la même raison que les développeurs de DocBook — c'est radicalement plus simple. SGML était extrêmement complexe et s'est donc avéré impossible à gérer. La spécification comportait 150 pages très denses et il n'a jamais été vérifié qu'un logiciel l'ait entièrement mis en œuvre. </p><p> Le schéma de chaîne logicielle que j'ai donné plus tôt était simplifié car il montrait uniquement la chaîne XML. Voici la version historiquement correcte : </p><div class="mediaobject"><img src="images/DocBook-Demystification-HOWTO/schema-04.png" /></div><p> La chaîne logicielle DSSSL servait à traiter le SGML DocBook. Dans cette chaîne, un document au format DocBook est traité par un des deux moteurs de feuilles de style (Jade ou OpenJade). Il est ainsi transformé en balisage de macros TeX qui était convertit en DVI par un paquet appelé JadeTex pour être finalement transformé en PostScript. </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10315" />Outils SGML</h3></div></div></div><p> Le projet <a class="ulink" href="http://sources.redhat.com/docbook-tools/" target="_top">docbook-tools</a> fournit des outils libres pour convertir du SGML DocBook en HTML, PostScript et dans d'autres formats. Ce paquet est intégré à la distribution Red Hat et à d'autres distributions Linux. Il est maintenu par Mark Galassi. </p><p> <a class="ulink" href="http://www.jclark.com/jade/" target="_top">Jade</a> est un moteur utilisé pour appliquer des feuilles de style DSSSL à des documents SGML. Il est maintenu par James Clark. </p><p> <a class="ulink" href="http://openjade.sourceforge.net/" target="_top">OpenJade</a> est un projet communautaire entrepris parce que ses créateurs pensaient que la maintenance de Jade réalisée par James Clark n'était pas satisfaisante. Les programmes de docbook-tools utilisent OpenJade. </p><p> <a class="ulink" href="http://www.tei-c.org.uk/Software/passivetex/" target="_top">PassiveTeX</a> est le paquet de macros LaTeX utilisé par <span class="application">xmlto</span> pour produire du DVI à partir du XML DocBook. <a class="ulink" href="http://jadetex.sourceforge.net/" target="_top">JadeTex</a> est le paquet de macros LaTeX utilisé par OpenJade pour produire du DVI à partir du SGML DocBook. </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10338" />Pourquoi le SGML DocBook est mort</h3></div></div></div><p> La chaîne logicielle DSSSL, si l'on considère les nouveaux développements, est, en pratique, morte. La chaîne XSLT a atteint mi-2002 une qualité suffisante pour les environnements de production. Une version fonctionnelle de cette chaîne est intégrée à la distribution Red Hat 7.3. C'est sur cette chaîne que les développeurs DocBook concentrent la plupart de leurs efforts. </p><p> La raison du passage à XML est triple. Premièrement, SGML s'est avéré être trop compliqué à utiliser ; deuxièmement, DSSSL s'est avéré trop compliqué à appliquer et enfin des parties significatives de la chaîne DSSSL se sont avérées être fragiles et trop mal conçues. </p><p> Apparenté à SGML, XML possède un nombre de fonctionnalités réduit, ce qui est suffisant dans la plupart des cas tout en simplifiant grandement sa compréhension et la mise en œuvre d'analyseurs. Les outils de traitement SGML (comme les analyseurs de validation) doivent mettre en œuvre bon nombre de fonctionnalités non utilisées par DocBook et les autres systèmes de balisage de textes. Le fait d'enlever ces fonctionnalités a rendu XML plus simple et les outils de traitement XML plus rapides. </p><p> Le langage utilisé pour décrire les DTD SGML est suffisamment épineux et rébarbatif pour que l'écriture de DTD SGML relève du domaine de la science occulte. Les DTD XML, d'un autre coté, peuvent être décrites comme un dialecte d'XML lui-même. Un langage de DTD séparé n'a donc pas lieu d'être. Une description XML d'une DTD XML est appelée un <em class="firstterm">schéma</em><a class="indexterm" id="N10345" />. L'usage du terme DTD lui-même va probablement se perdre au fur et à mesure de la standardisation des schémas. </p><p> Cependant la chaîne logicielle DSSSL est surtout morte à cause de DSSSL lui-même : le langage de description des feuilles de style de SGML était trop obscur pour la plupart des êtres humains ce qui a rendu les feuilles de style trop difficiles à écrire et à modifier<sup>[<a href="#ftn.N1034C" id="N1034C" class="footnote">3</a>]</sup>. </p><p> Les défenseurs d'XML aiment résumer tous ces changements ainsi : « <span class="quote">XML : ça a bon goût et c'est facile à digérer.</span> » </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a id="N10355" />SGML-Tools</h3></div></div></div><p> SGML-Tools était le nom d'une DTD utilisée par le <a class="ulink" href="http://www.tldp.org" target="_top">Projet de documentation Linux (LDP)</a>, développée il y a quelques années alors que la chaîne logicielle DocBook n'existait pas. Le balisage de SGML-Tools était plus simple mais aussi beaucoup moins souple que DocBook. La chaîne logicielle SGML-Tool d'origine (outil de mise en forme, DTD et feuilles de style) est morte depuis déjà un certain temps mais son successeur, appelé <a class="ulink" href="http://sourceforge.net/projects/sgmltools-lite/" target="_top">SGML-tools Lite</a> est toujours mis à jour. </p><p> Le Projet de documentation Linux a progressivement abandonné SGML-Tools au profit de DocBook, mais il est toujours possible que vous ayez à reprendre de vieux guides pratiques. Ils sont reconnaissables par leur entête d'identification « <span class="quote"><!doctype linuxdoc system></span> ». Si jamais cela vous arrive, convertissez cette chose au format XML DocBook et enterrez rapidement la vieille version. </p></div><div class="footnotes"><br /><hr align="left" width="100" /><div class="footnote"><p><sup>[<a href="#N1034C" id="ftn.N1034C" class="para">3</a>] </sup> Il s'agissait d'un dialecte de Scheme. Votre humble auteur, adepte de LISP depuis des lustres, est pris d'effarement à l'idée que cela puisse en faire fuir certains </p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s11.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s13.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Pratiques et standards apparentés </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Références</td></tr></table></div></body></html>