This file is indexed.

/usr/share/doc/HOWTO/fr-html/DocBook-Demystification-HOWTO.html is in doc-linux-fr-html 2013.01-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
<?xml version="1.0" encoding="UTF-8"?>
<!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>Comprendre DocBook (Guide pratique)</title><link rel="stylesheet" type="text/css" href="style.css"/><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/><meta name="description" content="Ce guide pratique tente de dissiper le brouillard et le mystère entourant le système de balisage DocBook et les outils associés. Il est destiné aux auteurs de documentations techniques pour les projets libres sous Linux, mais devrait également être utile à la rédaction d'autres types de documents sur d'autres systèmes Unix."/></head><body><div xml:lang="fr" class="article"><div class="titlepage"><div><div><h2 class="title"><a id="d0e1"/>Comprendre DocBook (Guide pratique)</h2></div><div><h3 class="subtitle"><em>
     Version française du guide pratique <span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">DocBook Demystification HOWTO</em></span>
  </em></h3></div><div><div class="author"><h3 class="author"><span class="firstname">Eric</span> <span class="surname">Raymond</span></h3><code class="email">&lt;<a class="email" href="mailto:esr CHEZ thyrsus POINT com">esr CHEZ thyrsus POINT com</a>&gt;</code></div></div><div><p class="othercredit"><span class="contrib">Adaptation française</span> : <span class="firstname">Raphaël</span> <span class="surname">Semeteys</span></p></div><div><p class="othercredit"><span class="contrib">Relecture de la version française</span> : <span class="firstname">Jean-Philippe</span> <span class="surname">Guérard</span></p></div><div><p class="othercredit"><span class="contrib">Préparation de la publication de la v.f.</span> : <span class="firstname">Jean-Philippe</span> <span class="surname">Guérard</span></p></div><div><p class="releaseinfo">Version : 1.3.fr.1.2</p></div><div><p class="pubdate">11 juin 2008</p></div><div><div class="revhistory"><table summary="Historique des versions"><tr><th align="left" valign="top" colspan="3"><strong>Historique des versions</strong></th></tr><tr><td align="left">Version 1.3.fr.1.2</td><td align="left">2008-06-11</td><td align="left">JPG</td></tr><tr><td align="left" colspan="3">
          Correction d'une petite coquille. Merci Joris Rehm de nous 
          l'avoir signalé. Remplacement d'un lien obsolète vers le livre 
          « XML en concentré » (qui n'est plus édité) par un 
          lien vers sa version originale.
      </td></tr><tr><td align="left">Version 1.3.fr.1.1</td><td align="left">2007-04-26</td><td align="left">JPG</td></tr><tr><td align="left" colspan="3">
          Modification du titre français.
      </td></tr><tr><td align="left">Version 1.3.fr.1.0</td><td align="left">2006-01-07</td><td align="left">RSS, JPG</td></tr><tr><td align="left" colspan="3">
          Adaptation française initiale.
      </td></tr><tr><td align="left">Version 1.3</td><td align="left">2004-02-27</td><td align="left">ESR</td></tr><tr><td align="left" colspan="3">
	
	   Ajout de pointeurs vers deux éditeurs. <span xml:lang="en" class="emphasis"><em>Add pointers to two editors.</em></span>
	
	</td></tr><tr><td align="left">Version 1.2</td><td align="left">2003-02-17</td><td align="left">ESR</td></tr><tr><td align="left" colspan="3">

	   Déplacement des références à SGML après que celui-ci ait été 
	   présenté. <span xml:lang="en" class="emphasis"><em>Reorder to defer references to 
	   SGML until after it has been introduced.</em></span>

	</td></tr><tr><td align="left">Version 1.1</td><td align="left">2002-10-01</td><td align="left">ESR</td></tr><tr><td align="left" colspan="3">

	   Correction d'une erreur faite par inadvertance sur la 
	   position de la FSF. Ajout d'un pointeur vers la FAQ DocBook. 
	   <span xml:lang="en" class="emphasis"><em>Correct inadvertent misrepresentation of 
	   FSF's position. Added pointer to the DocBook FAQ.</em></span>

	</td></tr><tr><td align="left">Version 1.0</td><td align="left">2002-09-20</td><td align="left">ESR</td></tr><tr><td align="left" colspan="3">

	   Version initiale. <span xml:lang="en" class="emphasis"><em>Initial 
	   version.</em></span>

	</td></tr></table></div></div><div><div class="abstract"><p class="title"><strong>Résumé</strong></p><p>

  Ce guide pratique tente de dissiper le brouillard et le mystère 
  entourant le système de balisage DocBook et les outils associés. Il 
  est destiné aux auteurs de documentations techniques pour les projets 
  libres sous Linux, mais devrait également être utile à la rédaction 
  d'autres types de documents sur d'autres systèmes Unix.

  </p></div></div></div><hr/></div><div class="toc"><p><strong>Table des matières</strong></p><dl class="toc"><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#d0e147">2. Pourquoi s'intéresser à DocBook ?</a></span></dt><dt><span class="sect1"><a href="#d0e177">3. Balisage structurel : préambule</a></span></dt><dt><span class="sect1"><a href="#d0e252">4. Définitions de types de documents (DTD)</a></span></dt><dt><span class="sect1"><a href="#d0e303">5. Autres DTD</a></span></dt><dt><span class="sect1"><a href="#d0e320">6. La chaîne logicielle DocBook</a></span></dt><dt><span class="sect1"><a href="#d0e454">7. Quels sont les projets et les acteurs ?</a></span></dt><dt><span class="sect1"><a href="#d0e489">8. Outils de migration</a></span></dt><dt><span class="sect1"><a href="#d0e588">9. Outils d'édition</a></span></dt><dt><span class="sect1"><a href="#d0e628">10. Trucs et astuces</a></span></dt><dt><span class="sect1"><a href="#d0e638">11. Pratiques et standards apparentés</a></span></dt><dt><span class="sect1"><a href="#sgml">12. SGML et les outils SGML</a></span></dt><dd><dl><dt><span class="sect2"><a href="#d0e667">12.1. DocBook SGML</a></span></dt><dt><span class="sect2"><a href="#d0e683">12.2. Outils SGML</a></span></dt><dt><span class="sect2"><a href="#d0e712">12.3. Pourquoi le SGML DocBook est mort</a></span></dt><dt><span class="sect2"><a href="#d0e740">12.4. SGML-Tools</a></span></dt></dl></dd><dt><span class="sect1"><a href="#d0e756">13. Références</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="intro"/>1. Introduction</h2></div></div></div><p>

Bon nombre de grands projets libres sont en train de converger vers 
l'utilisation du format DocBook comme format standard de documentation 
— des projets comme le noyau Linux, GNOME, KDE, Samba et le Projet 
de documentation Linux (LDP). Les défenseurs du balisage structurel basé 
sur XML (par opposition au style plus ancien de balisage de présentation 
illustré par troff, Tex et Texinfo) semblent avoir gagné la bataille 
théorique. Il est possible de produire un balisage de présentation à 
partir d'un balisage structurel, mais l'inverse est très difficile.

</p><p>

Néanmoins, une grande confusion entoure DocBook et les programmes qui 
l'accompagnent. Ses adeptes parlent un argot dense et intimidant, même 
selon les canons de l'informatique, utilisant à tout va des sigles sans 
rapport évident avec ce qui doit être fait pour écrire du texte balisé 
et produire du HTML ou du Postscript. Les standards et les documents 
techniques sur XML sont notoirement obscurs.

</p><p>

Ce guide va tenter de clarifier les principaux mystères existants autour 
de DocBook et de son utilisation pour les documents relatifs aux 
logiciels libres — qu'il s'agisse de documentations techniques ou 
politiques. Notre objectif est de vous permettre de comprendre non 
seulement ce que vous devez faire pour fabriquer des documents, mais 
aussi pourquoi le processus est si complexe — et comment on peut 
s'attendre à voir cela changer au fur et mesure de la disponibilité de 
nouveaux outils DocBook.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e147"/>2. Pourquoi s'intéresser à DocBook ?</h2></div></div></div><p>

DocBook offre deux possibilités qui le rendent vraiment intéressant. La 
première est la <span class="emphasis"><em>production multi-formats</em></span> et la 
seconde la réalisation de <span class="emphasis"><em>bases de documents 
interrogeables</em></span>.

</p><p>

La <span class="emphasis"><em>production multi-formats</em></span> est la possibilité la 
plus simple et la plus proche de la réalisation ; il s'agit de la 
capacité à écrire un document dans un format maître unique, qui puisse 
être utilisé pour produire différents formats d'affichage (en 
particulier du HTML pour la visualisation en ligne et du Postscript pour 
des impressions de haute qualité). Cette capacité est désormais assez 
bien mise en œuvre.

</p><p>

Le terme <span class="emphasis"><em>base de documents interrogeable</em></span> est une 
manière condensée d'expliquer que DocBook puisse nous aider à aller vers 
un monde où l'ensemble de la documentation présente sur votre système 
d'exploitation libre constituera une base de données hypertexte, indexée 
et interrogeable de textes enrichis (plutôt que d'être éparpillée dans 
des formats variés en de multiples endroits comme c'est le cas 
aujourd'hui).

</p><p>

Idéalement, lorsque vous installerez un logiciel sur votre machine, il 
enregistrera sa documentation DocBook dans le catalogue de votre 
système. Celui-ci produira automatiquement du HTML correctement indexé 
et interconnecté au HTML contenu dans le reste de votre catalogue. La 
documentation du nouveau paquet sera alors disponible via un navigateur. 
Des recherches pourront être réalisés sur l'ensemble de la documentation 
via une interface ressemblant à un bon moteur de recherche.

</p><p>

Le HTML en tant que tel n'est pas un format suffisamment riche pour nous 
rapprocher de ce monde. Pour ne citer qu'une seule de ses lacunes, le 
HTML ne permet pas de déclarer explicitement des entrées d'index. 
DocBook <span class="emphasis"><em>possède</em></span> la richesse sémantique permettant 
la réalisation de bases de documents structurées. C'est la raison 
fondamentale de son adoption par de si nombreux projets.

</p><p>

DocBook a les inconvénients de ses avantages. Certains le trouvent trop 
lourd et verbeux pour pouvoir réellement constituer un format de 
composition confortable. Ce qui ne posera pas de problème, tant que les 
formats qu'ils affectionnent (comme le format POD de Perl ou le Texinfo 
GNU) disposent de moteurs permettant de produire du DocBook, tout le 
monde sera satisfait. Peu importe que tout le monde écrive au format 
DocBook ou pas. Du moment que DocBook devient le format commun d'échange 
de documents, nous resterons capables de réaliser des bases de documents 
interrogeables unifiées.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e177"/>3. Balisage structurel : préambule</h2></div></div></div><p>

Les anciens langages de mise en forme tels que Tex, Texinfo ou Troff 
permettaient de réaliser un <em class="firstterm">balisage de 
présentation</em><a id="d0e184" class="indexterm"/>. Les instructions que vous donniez à ces systèmes 
concernaient l'apparence et la disposition physique du texte (par 
exemple, des modifications de la fonte ou de l'indentation).

</p><p>

Tant que votre objectif restait d'imprimer sur un seul support ou un 
seul type de périphérique d'affichage, le balisage de présentation 
restait une bonne solution. Vous en atteignez les limites lorsque vous 
commencez à baliser un document en voulant (a) qu'il puisse être mis en 
forme pour des dispositifs d'affichages très différents (comme des 
imprimantes et le web) ou (b) réaliser des recherches sur le document et 
l'indexer via sa structure logique (par exemple pour l'incorporer dans 
un système hypertexte).

</p><p>

Pour disposer de ces capacités, vous aurez besoin d'un système de 
<em class="firstterm">balisage structurel</em><a id="d0e194" class="indexterm"/>. Avec le balisage structurel, vous ne décrirez pas 
l'apparence physique du document mais plutôt les propriétés logiques de 
ses différentes parties.

</p><p>

Par exemple : dans un langage de balisage de présentation, si vous 
désirez accentuer un mot, vous indiquerez à l'outil de mise en forme de 
le mettre en caractères gras. Dans

<span class="citerefentry"><span class="refentrytitle">troff</span>(1)</span>

cela ressemblera à ceci<a href="#ftn.d0e206" class="footnote" id="d0e206"><sup class="footnote">[1]</sup></a> :

</p><pre class="programlisting">
Toutes vos base
.B sont
appartiennent à nous !
</pre><p>

Dans un langage de balisage structurel, vous indiquerez à l'outil de 
mise en forme de mettre le en relief :

</p><pre class="programlisting">
Toutes vos base &lt;emphasis&gt;sont&lt;/emphasis&gt;
appartiennent à nous !
</pre><p>

Le <span class="quote">« <span class="quote"><code class="sgmltag-starttag">&lt;emphasis&gt;</code></span> »</span> et le 
<span class="quote">« <span class="quote"><code class="sgmltag-endtag">&lt;/emphasis&gt;</code></span> »</span> de la ligne 
précédente sont appelés des <em class="firstterm">balises de 
marquage</em><a id="d0e231" class="indexterm"/> ou tout simplement des <em class="firstterm">balises</em>. 
Elles constituent les instructions de votre outil de mise en forme.

</p><p>

Dans un langage de balisage structurel, l'apparence physique du document 
final sera contrôlée par l'application d'une <em class="firstterm">feuille de 
style</em><a id="d0e242" class="indexterm"/>. C'est la feuille de style qui indiquera à l'outil de mise 
en forme de <span class="quote">« <span class="quote">représenter la mise en relief sous forme de 
caractères gras</span> »</span>. Un des avantages des langages de balisage 
structurel est qu'en modifiant une feuille de style vous pourrez 
modifier de manière globale la présentation du document (pour utiliser 
des polices de caractères différentes par exemple) sans avoir à modifier 
chaque occurrence, par exemple, de <span class="markup">.B</span> dans le document 
lui-même.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e252"/>4. Définitions de types de documents (DTD)</h2></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"/></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>

Pour rester simple dans notre explication, cette section comporte 
certains raccourcis historiques qui seront corrigés dans une <a class="link" href="#sgml" title="12. SGML et les outils SGML">section ultérieure</a>.

</p></td></tr></table></div><p>

DocBook est un langage de balisage structurel. Plus spécifiquement c'est 
un dialecte XML. Un document DocBook est un fichier XML qui utilise des 
balises XML pour définir sa structure.

</p><p>

Afin d'appliquer une feuille de style à votre document et de lui donner 
une belle apparence, un outil de mise en forme aura besoin de savoir 
certaines choses sur la structure complète du document. Par exemple, il 
aura besoin de savoir qu'un livre est normalement constitué de parties 
liminaires, d'une suite de chapitres, puis de parties annexes afin de 
pouvoir mettre en forme correctement les en-têtes de chapitres. Afin 
qu'il puisse le savoir, vous devrez lui fournir une 
<em class="firstterm">définition de type de document</em><a id="d0e267" class="indexterm"/> ou DTD. La DTD 
indique à l'outil de mise en forme les éléments qui peuvent se trouver 
dans la structure du document ainsi que l'ordre dans lequel ils peuvent 
apparaître.

</p><p>

Lorsqu'on décrit DocBook comme une application de XML, on veut dire 
par là qu'il s'agit d'une DTD — une DTD plutôt conséquente avec 
près de 400 balises.

</p><p>

Derrière DocBook se cache un type de programme appelé un 
<em class="firstterm">analyseur de validation</em><a id="d0e279" class="indexterm"/>. Lorsque vous mettez en forme un document DocBook, la 
première étape à franchir est de le passer au crible d'un analyseur de 
validation (qui est le premier composant de l'outil de mise en forme 
DocBook). Ce programme vérifie la validité de votre document par rapport 
à la DTD DocBook. Cela permet de s'assurer que vous n'êtes en conflit 
avec aucune des règles structurelles de la DTD (sinon le composant de 
l'outil de mise en forme en charge de l'application de la feuille de 
style pourrait s'y perdre).

</p><p>

L'analyseur de validation va soit vous afficher des messages d'erreurs
relatifs aux endroits où la structure du document est incorrecte, soit 
traduire le document en un flux d'<em class="firstterm">évènements de mise en 
forme</em> qui sera finalement combiné avec votre feuille de 
style pour produire le résultat mis en forme.

</p><p>Voici un schéma du processus complet :</p><div class="mediaobject"><img src="images/DocBook-Demystification-HOWTO/schema-01.png"/></div><p>

La partie du schéma comprise dans la zone en pointillés est votre outil 
de mise en forme, autrement appelée votre <em class="firstterm">chaîne 
logicielle</em> de mise en forme. Pour comprendre ce qui suit, en 
plus de l'entrée évidente et visible de l'outil de mise en forme (le 
document source) vous devrez garder en tête les deux autres entrées 
<span class="quote">« <span class="quote">cachées</span> »</span> (DTD et feuille de style) de l'outil de mise en 
forme.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e303"/>5. Autres DTD</h2></div></div></div><p>

Un court détour par les autres DTD vous aidera à distinguer les parties 
de la section précédente qui sont spécifiques à DocBook de celles 
concernant tous les langages de balisage structurel.

</p><p>

<a class="ulink" href="http://www.tei-c.org/" target="_top">TEI</a> (Text Encoding 
Initiative) est une DTD conséquente et élaborée, principalement utilisée 
dans les milieux académiques pour la transcription informatique de 
textes littéraires. La chaîne logicielle de TEI, fonctionnant sous Unix, 
utilise nombre d'outils utilisés par DocBook, mais avec des feuilles de 
style et (évidemment) une DTD différentes.

</p><p>

XHTML, la dernière version de HTML, est également une utilisation d'XML 
décrite par une DTD, ce qui explique l'air de famille existant entre les 
balises XHTML et DocBook. La chaîne logicielle XHTML est constituée de 
navigateurs web et d'un certain nombre d'utilitaires spécifiques 
d'impression.

</p><p>

De nombreuses autres DTD XML sont maintenues afin de faciliter les 
échanges d'informations structurées dans des domaines aussi divers que 
l'informatique biologique ou la banque. Vous pouvez consulter la <a class="ulink" href="http://www.xml.com/pub/rg/DTD_Repositories" target="_top">liste des 
référentiels</a> pour vous faire une idée de la variété des DTD 
existantes.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e320"/>6. La chaîne logicielle DocBook</h2></div></div></div><p>

Le moyen le plus simple de mettre en forme et de produire des documents 
XML DocBook est d'utiliser la chaîne logicielle 
<span class="application">xmlto</span>. Elle est intégrée à la distribution 
Red Hat et les utilisateurs de Debian peuvent la récupérer via la 
commande <strong class="userinput"><code>apt-get install xmlto</code></strong>.

</p><p>

Pour produire du XHTML à partir de vos sources DocBook, il vous faudra 
normalement faire quelque-chose comme ceci :

</p><pre class="screen">
bash$ xmlto xhtml foo.xml
bash$ ls *.html
ar01s02.html ar01s03.html ar01s04.html index.html
</pre><p>

Dans cet exemple, vous avez converti un document XML Docbook nommé 
<code class="filename">foo.xml</code> composé de trois sections principales en 
une page d'index et trois parties. Produire une seule page est tout 
aussi simple :

</p><pre class="screen">
bash$ xmlto xhtml-nochunks foo.xml
bash$ ls *.html
foo.html
</pre><p>

Enfin, voici comment produire du PostScript pour l'impression :

</p><pre class="screen">
bash$ xmlto ps foo.xml     # Production de PostScript
bash$ ls *.ps
foo.ps
</pre><p>

Certaines versions plus anciennes de <span class="command"><strong>xmlto</strong></span> peuvent 
être plus bavardes en émettant de messages du type <span class="quote">« <span class="quote">Conversion en 
XHTML en cours</span> »</span> et ainsi de suite.

</p><p>

Pour convertir vos documents en HTML ou en PostScript, vous devez 
disposer d'un moteur capable d'appliquer à la fois la DTD DocBook et une 
feuille de style adéquate à votre document. Voici comment s'intègrent 
ensemble les outils libres utilisés à cette fin :

</p><div class="mediaobject"><img src="images/DocBook-Demystification-HOWTO/schema-02.png"/><div class="caption"><p>Chaîne logicielle XML DocBook actuelle</p></div></div><p>

L'analyse du votre document et l'application de la feuille de style vont 
être réalisées par l'un des programmes suivants. Le plus courant est 

<span class="application">xsltproc</span><a id="d0e368" class="indexterm"/>, 

l'analyseur inclus dans la distribution Red Hat depuis la version 7.3. 
Les autres possibilités sont les programmes Java

<span class="application">Saxon</span><a id="d0e374" class="indexterm"/> 

et 

<span class="application">Xalan</span><a id="d0e380" class="indexterm"/>.

</p><p>

XHTML étant simplement une autre DTD XML, il est relativement aisé de 
produire du XHTML de haute qualité à partir de DocBook. La conversion en 
HTML est réalisée en appliquant une feuille de style plutôt simple et 
c'est à peu près tout. De même RTF est simple à produire de cette 
manière et il est facile de produire un fichier de texte brut à partir 
d'XHTML ou de RTF.

</p><p>

Le cas de l'impression est moins évident. Il est difficile de produire 
des impressions de haute qualité (ce qui correspond en pratique au 
format

PDF<a id="d0e388" class="indexterm"/><a href="#ftn.d0e391" class="footnote" id="d0e391"><sup class="footnote">[2]</sup></a> d'Adobe, une version prête à l'emploi de PostScript). 
Pour le faire correctement, il est nécessaire de reproduire de manière 
algorithmique la finesse du jugement humain utilisé par un typographe 
lorsqu'il passe du niveau du contenu à celui de la présentation.

</p><p>

Donc, premièrement, une feuille de style traduit le balisage structurel 
DocBook en un autre langage XML — 

FO<a id="d0e400" class="indexterm"/>

(<span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">Formatting Objects</em></span>). Le 
balisage FO est un vrai balisage de présentation. Vous pouvez le 
considérer comme un équivalent fonctionnel de troff dans le monde XML. 
Il doit être traduit en Postscript pour pouvoir être intégré à un PDF.

</p><p>

Dans la chaîne logicielle intégrée à Red Hat, ce travail est pris en 
charge par un paquet de macros TeX appelé 

<span class="application">PassiveTeX</span><a id="d0e411" class="indexterm"/>. 

Il traduit dans le langage TeX de Donald Knuth les objets de mise en 
formes produits par <span class="command"><strong>xsltproc</strong></span>. TeX a été un des tous 
premiers projets libres, un langage de mise en forme (au niveau de la 
présentation) ancien mais puissant, apprécié des mathématiciens (à qui 
il fournit des fonctionnalités particulièrement évoluées de description 
des notations mathématiques). TeX est également connu pour son 
efficacité dans les tâches typographiques de base comme le crénage, le 
remplissage de lignes ou la césure. Le résultat de l'exécution de TeX, 
récupéré dans un format appelé 

DVI (<span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">DeVice Independent</em></span>)<a id="d0e421" class="indexterm"/>,

est ensuite transformé en PDF.

</p><p>

Si vous trouvez que cet enchaînement de XML vers des macros TeX vers DVI 
vers PDF ressemble à une usine à gaz, vous n'avez pas tort. Ça grince, 
ça siffle et ça comporte d'horribles verrues. Les fontes constituent un 
problème important du fait qu'XML, TeX et PDF possèdent des modèles très 
différents d'utilisation des fontes. En outre, la gestion de 
l'internationalisation et des paramètres régionaux est un vrai 
cauchemar. La seule chose qui justifie cet enchaînement est que cela 
fonctionne.

</p><p>

La solution élégante sera 

FOP<a id="d0e429" class="indexterm"/>,

un traducteur FO vers PostScript développé par le projet Apache. Avec 
FOP, le problème de l'internationalisation est, s'il n'est pas résolu, 
bien circonscrit : les outils XML manient l'Unicode de bout en 
bout. La correspondance entre glyphes et fonte est également un problème 
relevant strictement de FOP. Le seul problème de cette approche est que 
cela ne fonctionne pas — du moins pour le moment. En date d'août 
2002, FOP est en version alpha non finalisée — utilisable mais 
brut de décoffrage et fonctionnellement incomplet.

</p><p>Voici à quoi ressemble la chaîne logicielle FOP :</p><div class="mediaobject"><img src="images/DocBook-Demystification-HOWTO/schema-03.png"/><div class="caption"><p>Future chaîne logicielle XML DocBook intégrant FOP</p></div></div><p>

FOP a des concurrents. Il existe un autre projet appelé 

<span class="application">xsl-fo-proc</span><a id="d0e447" class="indexterm"/> 

qui vise le même objectif que FOP, mais en C++ (et donc plus rapide et 
ne reposant pas sur l'environnement Java). En date d'août 2002, 
<span class="application">xsl-fo-proc</span> est aussi en version alpha non 
finalisée, dans un état assez proche de celui de FOP.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e454"/>7. Quels sont les projets et les acteurs ?</h2></div></div></div><p>

La DTD DocBook elle-même est maintenue par le Comité technique DocBook 
(<span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">DocBook Technical Committee</em></span>), 
dirigé par Norman Walsh. Norm est le principal auteur des feuilles de 
style DocBook. Il a consacré depuis de nombreuses années une grande 
quantité d'énergie et de talent aux problèmes extrêmement complexes 
qu'aborde DocBook. Il est autant respecté dans la communauté DocBook que 
l'est Linus Torvalds dans le monde Linux.

</p><p>

<a class="ulink" href="http://xmlsoft.org/XSLT/" target="_top">libxslt</a> est une 
bibliothèque C qui interprète XSLT et applique les feuilles de style aux 
documents XML. Elle comprend un utilitaire, <span class="command"><strong>xsltproc</strong></span>, 
qui peut être utilisé comme outil de mise en forme XML. Son code a été 
écrit par Daniel Veillard sous les auspices du projet GNOME, mais ne 
requiert aucun code GNOME pour fonctionner. J'ai entendu dire qu'elle 
était extraordinairement plus rapide que ses alternatives Java, ce qui 
n'est pas une affirmation très surprenante.

</p><p>

<span class="command"><strong><a class="ulink" href="http://cyberelk.net/tim/xmlto/" target="_top">xmlto</a></strong></span> est 
l'interface utilisateur de la chaîne logicielle intégrée à Red Hat. Elle 
est écrite et maintenue par Tim Waugh.

</p><p>

<a class="ulink" href="http://saxon.sourceforge.net/" target="_top">Saxon</a> et <a class="ulink" href="http://xml.apache.org/xalan-j/" target="_top">Xalan</a> sont des programmes 
Java qui interprètent XSLT. Saxon semble être conçu pour fonctionner 
sous Windows. Xalan fait partie du projet XML Apache et fonctionne 
directement sous Linux et BSD. Il est conçu pour fonctionner avec FOP.

</p><p>

<a class="ulink" href="http://xml.apache.org/fop/" target="_top">FOP</a> traduit des objets 
de mise en forme XML (FO) en PDF. Il fait partie du projet XML Apache et 
est conçu pour fonctionner avec Xalan.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e489"/>8. Outils de migration</h2></div></div></div><p>

Le deuxième plus gros problème de DocBook est l'effort nécessaire pour 
convertir les anciens balisages de présentation en balisage DocBook. Les 
êtres humains sont généralement capables de convertir automatiquement la 
présentation d'un document en une structure logique, parce qu'ils sont, 
par exemple, capables de distinguer selon le contexte les cas où 
l'italique est utilisé comme moyen d'accentuation de ceux où il signifie 
autre chose, comme le fait que la phrase soit en langue étrangère.

</p><p>

D'une façon ou d'une autre, il est nécessaire rendre explicite ce type 
de distinctions lors de la conversion de documents vers le format 
DocBook. Parfois elles sont présentes dans l'ancien balisage mais ce 
n'est en général pas le cas et l'information de structure manquante 
doit, soit être déduite par une heuristique intelligente, soit être 
ajoutée par un être humain.

</p><p>

Voici un résumé de l'état des outils de conversion à partir de divers 
autres formats :

</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">GNU Texinfo</span></dt><dd><p>

La <span xml:lang="en" class="emphasis"><em>Free Software Foundation</em></span> s'est fixé 
comme politique de permettre d'utiliser DocBook comme format d'échange. 
Texinfo est suffisamment structuré pour permettre une conversion 
automatique satisfaisante, et les versions 4.x de 
<span class="command"><strong>makeinfo</strong></span> proposent une option 
<code class="option">--docbook</code> qui produit directement du format DocBook. 
Vous trouverez plus d'information sur la <a class="ulink" href="http://www.gnu.org/directory/texinfo.html" target="_top">page du projet 
makeinfo</a>.

</p></dd><dt><span class="term">POD</span></dt><dd><p>

Il existe un module <a class="ulink" href="http://www.cpan.org/modules/by-module/Pod/" target="_top">POD::DocBook</a> 
qui traduit le balisage POD (<span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">Plain Old 
Documentation</em></span>) en DocBook. Il prétend traduire 
l'intégralité des balises POD sauf la balise italique L&lt;&gt;. La page 
de manuel précise également <span class="quote">« <span class="quote">Il n'est pas possible d'utiliser de 
listes imbriquées pour une sortie en DocBook</span> »</span> et fait remarquer 
que le module a été intensivement testé.

</p></dd><dt><span class="term">LaTeX</span></dt><dd><p>

LaTeX est (essentiellement) un langage de macros de balisage structurel 
construit au-dessus de l'outil de mise en forme TeX. Il existe un projet 
appelé <a class="ulink" href="http://www.lrz-muenchen.de/services/software/sonstiges/tex4ht/mn.html" target="_top">TeX4ht</a> 
qui (selon l'auteur de PassiveTeX) est capable de produire du code 
DocBook à partir de LaTeX.

</p></dd><dt><span class="term">Pages de manuels et balisages basées sur troff</span></dt><dd><p>

On considère généralement qu'il s'agit du problème de conversion le plus 
important et le plus désagréable. Et en effet le balisage de base de 

<span class="citerefentry"><span class="refentrytitle">troff</span>(1)</span> 

possède un niveau de présentation trop bas pour que des outils de 
conversions puissent apporter quelque aide que ce soit. Cependant la 
situation s'éclaircit significativement si l'on considère les 
traductions de documents écrits avec des paquets de macros comme

<span class="citerefentry"><span class="refentrytitle">man</span>(7)</span>. 

Ceux-ci sont suffisamment structurés pour permettre une traduction 
automatique.

</p><p>

J'ai moi-même écrit un outil pour ce faire car je n'en trouvé aucun 
capable de faire proprement le travail (et également parce que le 
problème est intéressant). Il s'appelle <a class="ulink" href="http://www.catb.org/~esr//doclifter/" target="_top">doclifter</a>. Il convertit au format SGML 
ou XML DocBook les macros 

<span class="citerefentry"><span class="refentrytitle">man</span>(7)</span>, 

<span class="citerefentry"><span class="refentrytitle">mdoc</span>(7)</span>, 

<span class="citerefentry"><span class="refentrytitle">ms</span>(7)</span> 

ou 

<span class="citerefentry"><span class="refentrytitle">me</span>(7)</span>. 

Consultez la documentation pour plus d'informations.

</p></dd></dl></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e588"/>9. Outils d'édition</h2></div></div></div><p>

Il nous manque actuellement est un bon éditeur structurel libre pour les 
documents SGML et XML.

</p><p>

Le projet <a class="ulink" href="http://conglomerate.org/" target="_top">Conglomerate</a> 
vise spécifiquement à fournir un bon éditeur DocBook. Début 2004, ce 
programme était toujours en version alpha.

</p><p>

Le projet <a class="ulink" href="http://www.freespiders.org/projects/gmlview/" target="_top">MlView</a> est un 
éditeur XML généraliste. Début 2004, il n'était pas assez documenté et 
semblait être en version alpha.

</p><p>

<a class="ulink" href="http://www.lyx.org/" target="_top">LyX</a> est un éditeur de texte 
graphique utilisant LaTeX pour l'impression et permettant l'édition 
structurelle du balisage LaTeX. Il existe un paquet LaTeX qui produit du 
DocBook et un <a class="ulink" href="http://bgu.chez.tiscali.fr/doc/db4lyx/" target="_top">guide</a> qui décrit 
comment écrire du SGML et du XML en utilisant LyX.

</p><p>

<a class="ulink" href="http://idx-getox.idealx.org/" target="_top">GeTox</a>, l'éditeur XML 
de GNOME, vise les utilisateurs ayant un profil non technique. 
Malheureusement, ce logiciel est toujours en version alpha (depuis 
août 2001) et est plus un prototype qu'un outil utilisable. En 
outre, l'équipe du projet ne semble pas très active. Le site du projet 
n'a pas été mis à jour entre mai 2001 et janvier 2006 (date de 
publication de la version française de ce guide).

</p><p>

<a class="ulink" href="http://www.math.u-psud.fr/~anh/TeXmacs/TeXmacs.html" target="_top">GNU 
TeXMacs</a> est un projet d'éditeur adapté à la rédaction de 
documents techniques et mathématiques, et permettant l'affichage de 
formules. La version 1.0 a été publiée en avril 2002. Les développeurs 
prévoient une compatibilité XML à l'avenir, mais celle-ci n'est pas 
encore réalisée.

</p><p>

<a class="ulink" href="http://www.freesoftware.fsf.org/thotbook/" target="_top">ThotBook</a> 
est un projet d'éditeur graphique pour DocBook basé sur la boîte à 
outils Thot. Il est vraisemblablement moribond car la page web n'a pas 
été mise à jour entre novembre 2001 et février 2006 (date de publication 
de la version française de ce guide).

</p><p>

La plupart des gens continuent à écrire directement les balises à la 
main dans vi ou emacs.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e628"/>10. Trucs et astuces</h2></div></div></div><p>

Il est possible de produire un index en incluant une balise <code class="sgmltag-emptytag">&lt;index/&gt;</code> vide à l'endroit du document où vous 
voulez qu'il apparaisse. Gardez en mémoire que, début 2004, cette 
fonctionnalité était toujours assez fruste. Elle ne fusionnait pas les 
intervalles et le rendu au format PostScript n'était pas encore d'une 
qualité suffisante pour une utilisation sérieuse.

</p><p>Cet espace est réservé à d'autres trucs et astuces.</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e638"/>11. Pratiques et standards apparentés</h2></div></div></div><p>

Les outils d'édition et de mise en forme du balisage DocBook sont en 
train d'émerger, bien que lentement. Mais DocBook en soi est un moyen et 
non une fin. Nous aurons besoin d'autres standards en plus de DocBook 
pour atteindre l'objectif de bases de documents interrogeables que j'ai 
évoqué au début de ce document. Les deux enjeux principaux sont le 
catalogage de document et les méta-données.

</p><p>

Le projet <a class="ulink" href="http://scrollkeeper.sourceforge.net/" target="_top">Scrollkeeper</a> a pour 
objectif de satisfaire ce besoin. Il fournit des points d'entrées 
utilisables par les scripts d'installation et de désinstallation de 
paquets pour enregistrer et désenregistrer leurs documentations dans une 
base de données commune partagée et interrogeable.

</p><p>

Scrollkeeper utilise le format <a class="ulink" href="http://www.ibiblio.org/osrt/omf/" target="_top">Open Metadata Format</a>. Il 
s'agit d'un standard d'indexation des documentations libres similaire à 
un système de catalogue sur fiche de bibliothèque. L'idée est d'offrir 
des fonctionnalités de recherches avancées utilisant aussi bien les 
méta-données du catalogue que le texte de la documentation elle-même.

</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="sgml"/>12. 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 id="d0e658" class="indexterm"/> 

ou <span xml:lang="en" class="foreignphrase"><em xml:lang="en" 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"><div class="titlepage"><div><div><h3 class="title"><a id="d0e667"/>12.1. 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 &gt; 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"><div class="titlepage"><div><div><h3 class="title"><a id="d0e683"/>12.2. 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"><div class="titlepage"><div><div><h3 class="title"><a id="d0e712"/>12.3. 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 id="d0e725" class="indexterm"/>.

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<a href="#ftn.d0e731" class="footnote" id="d0e731"><sup class="footnote">[3]</sup></a>.

</p><p>

Les défenseurs d'XML aiment résumer tous ces changements ainsi : 
<span class="quote">« <span class="quote">XML : ça a bon goût et c'est facile à digérer.</span> »</span>

</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="d0e740"/>12.4. 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">« <span class="quote">&lt;!doctype linuxdoc system&gt;</span> »</span>. 
Si jamais cela vous arrive, convertissez cette chose au format XML 
DocBook et enterrez rapidement la vieille version.

</p></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title"><a id="d0e756"/>13. Références</h2></div></div></div><p>

Une des choses qui compliquent l'apprentissage de DocBook est le fait 
que les sites sur le sujet ont tendance à submerger les débutants de 
listes de standards du W3C, d'exercices volumineux sur la théologie du 
balisage et de terminologie abstraite.

</p><p>

<span class="quote">« <span class="quote"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase"><a class="ulink" href="http://xml.oreilly.com/news/dontlearn_0701.html" target="_top">Take My Advice: 
Don't Learn XML</a></em></span></span> »</span> (<span class="quote">« <span class="quote">Suivez mon 
conseil, n'apprenez pas XML</span> »</span>) de Michael Smith sonde le monde 
d'XML depuis un angle similaire à celui de ce document.

</p><p>

<span class="quote">« <span class="quote"><em class="citetitle"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">DocBook: The Definitive 
Guide</em></span></em></span> »</span> Norman Walsh est disponible en 
<a class="ulink" href="http://www.oreilly.com/catalog/docbook/" target="_top">version 
papier</a> et sur le <a class="ulink" href="http://www.docbook.org/tdg/en/html/docbook.html" target="_top">web</a>. C'est 
en fait la référence qui fait autorité mais c'est un désastre en tant 
que document d'introduction ou d'apprentissage. Lisez plutôt ceci :

</p><p>

<span class="quote">« <span class="quote"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase"><a class="ulink" href="http://opensource.bureau-cornavin.com/crash-course/" target="_top">Writing 
Documentation Using DocBook: A Crash 
Course</a></em></span></span> »</span>. C'est un excellent guide 
d'apprentissage.

</p><p>

Il existe une excellente <span class="quote">« <span class="quote"><a class="ulink" href="http://www.dpawson.co.uk/docbook/" target="_top">FAQ DocBook (en 
anglais)</a></span> »</span> contenant de nombreuses informations sur la 
personnalisation du style du HTML produit. Il existe également un <a class="ulink" href="http://docbook.org/wiki/moin.cgi" target="_top">wiki</a> DocBook (en 
anglais).

</p><p>

Si vous écrivez pour le Projet de documentation Linux, lisez le 
<span class="quote">« <span class="quote"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase"><a class="ulink" href="http://www.linuxdoc.org/LDP/LDP-Author-Guide/index.html" target="_top">LDP Author 
Guide</a></em></span></span> »</span>.

</p><p>

La meilleure introduction à SGML et XML, que j'ai personnellement lue 
d'une traite, est celle de David Megginson : <span class="quote">« <span class="quote"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase"><a class="ulink" href="http://www.amazon.fr/exec/obidos/ASIN/0136422993/171-8635393-7110656" target="_top">Structuring 
XML Documents</a></em></span></span> »</span> (Prentice-Hall, 
ISBN : 0-13-642299-3).

</p><p>

Au sujet d'XML, le livre en anglais <span class="quote">« <span class="quote"><a class="ulink" href="http://oreilly.com/catalog/9780596002923/" target="_top">XML in a 
Nutshell</a></span> »</span> de W. Scott Means et Elliotte 
<span class="quote">« <span class="quote">Rusty</span> »</span> Harold, est très bien.

</p><p>

<span class="quote">« <span class="quote"><a class="ulink" href="http://www.amazon.fr/exec/obidos/ASIN/274640088X/171-8635393-7110656" target="_top">XML 
guide de l'utilisateur</a></span> »</span> semble être un ouvrage de 
référence assez approfondi sur XML et les standards associés (dont 
notamment Formatting Objects).

</p><p>

Enfin, le site <span class="quote">« <span class="quote"><span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase"><a class="ulink" href="http://xml.coverpages.org/" target="_top">The XML Cover 
Pages</a></em></span></span> »</span> vous entraînera dans la jungle des 
standards XML, si c'est vraiment ce que vous voulez.

</p></div><div class="footnotes"><br/><hr width="100" align="left"/><div id="ftn.d0e206" class="footnote"><p><a href="#d0e206" class="para"><sup class="para">[1] </sup></a>

N.D.T. : les fautes sont volontaires. Pour comprendre cette
référence, jetez un œil à l'article Wikipédia <a class="ulink" href="http://fr.wikipedia.org/wiki/All_your_base_are_belong_to_us" target="_top">correspondant</a>.

</p></div><div id="ftn.d0e391" class="footnote"><p><a href="#d0e391" class="para"><sup class="para">[2] </sup></a>

PDF signifie Format Portable de Document — <span xml:lang="en" class="foreignphrase"><em xml:lang="en" class="foreignphrase">Portable Document Format</em></span> dans la langue de 
Shakespeare.

</p></div><div id="ftn.d0e731" class="footnote"><p><a href="#d0e731" class="para"><sup class="para">[3] </sup></a>

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></body></html>