La syntaxe de GuideXML est légère, mais expressive. Elle est donc simple à apprendre, mais fournit toutes les fonctionnalités nécessaires à la création de documentation Web. Le nombre de balises est réduit au minimum, ne contenant que celles qui sont utiles. Cela facilite la transformation des documents dans d'autres formats comme le DocBook, XML/SGML ou du HTML formaté pour le Web.
Le but est de faciliter la
Si vous avez l'intention d'écrire ou de modifier des documents au format Guide
XML, ou si vous voulez tester GuideXML, vous devriez lire la
Cela peut aussi vous intéresser de lire
Voyons la syntaxe de GuideXML. Nous commençons avec les balises d'initialisation utilisées dans un document GuideXML :
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> <!-- $Header$ --> <guide link="/doc/fr/guide.xml" lang="fr"> <title>Gentoo Documentation Guide</title> <author title="Auteur"><mail link="votre.mail@domaine.com"> Votre Nom</mail> </author> <abstract> Ce guide vous montre comment écrire de la documentation Web en utilisant la nouvelle syntaxe GuideXML Gentoo. Cette syntaxe est le format officiel pour la documentation de Gentoo, ce document lui-même ayant été créé en utilisant GuideXML. Ce guide suppose que vous avez un minimum de connaissances en XML et HTML. </abstract> <!-- The content of this document is licensed under the CC-BY-SA license --> <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <license/> <version>1.0</version> <date>2004-12-25</date>
Sur la première ligne, nous voyons la balise obligatoire qui permet
d'identifier un document XML. La ligne suivante identife la DTD à laquelle le
document soit se conformer. La ligne
L'attribut
L'attribut
Ensuite, il y a une balise
Puis, nous arrivons aux balises
Ensuite, nous arrivons aux balises
Nous avons maintenant récapitulé les balises qui doivent apparaître au début
d'un document guide. Hormis
Enfin, nous avons la balise
Une fois que les balises d'initialisation ont été spécifiées, vous êtes prêt
pour ajouter les éléments concernant la structure du document. Les documents
guide sont divisés en chapitres, chaque chapitre pouvant contenir une ou
plusieurs sections. Chaque chapitre et section ont un titre. Voici un exemple
de chapitre avec une seule section qui consiste en un paragraphe. Si vous
ajoutez ce XML au XML de
<chapter> <title>Ceci est mon chapitre</title> <section> <title>Ceci est la première section de mon chapitre</title> <body> <p>Ceci est le contenu de ma section.</p> </body> </section> </chapter>
Ci-dessus, j'ai spécifié le titre en ajoutant un élément fils
Maintenant, il est temps d'apprendre à baliser le contenu. Voici un exemple de
code XML pour un élément
<p> Ceci est un paragraphe. <path>/etc/passwd</path> est un fichier. <uri>http://forums.gentoo.org</uri> est mon site Web favori. Tapez <c>ls</c> si vous en avez envie. J'ai <e>vraiment</e> envie d'aller me coucher maintenant. </p> <pre caption="Exemple de code"> Ceci est un résultat de commande ou du code. # <i>ceci est tapé par l'utilisateur</i> Rendez le HTML/XML plus simple à lire en utilisant de l'emphase : <foo><i>bar</i></foo> <comment>(Voici comment insérer un commentaire dans un bloc de code.)</comment> </pre> <note> Ceci est une note. </note> <warn> Ceci est un avertissement. </warn> <impo> Ceci est important. </impo>
Maintenant, voici comment l'élément
Ceci est un paragraphe.
Ceci est un résultat de commande ou du code. # ceci est tapé par l'utilisateur Rendez le HTML/XML plus simple à lire en utilisant de l'emphase : <foo>bar</foo>(Voici comment insérer un commentaire dans un bloc de code.)
Nous avons présenté beaucoup de nouvelles balises dans la section précédente.
Voici ce que vous avez besoin de savoir. Les balises
<pre caption="Résultat de uptime"> # <i>uptime</i> 16:50:47 up 164 days, 2:06, 5 users, load average: 0.23, 0.20, 0.25 </pre>
Les délégués des 13 états originaux ont formé le Congrès. Thomas Jefferson, une Vierge et Benjamin Franklin chantèrent la Déclaration d'Indépendance. Franklin a découvert l'électricité en frottant deux chats et a déclaré : « Un cheval coupé en deux ne peut pas tenir debout. » Franklin est mort en 1790 et l'est toujours.
Les épigraphes sont souvent utilisés au début des chapitres pour illustrer ce
qui va suivre. C'est simplement un paragraphe avec l'attribut
<p by="Étudiant anonyme"> Les délégués des 13 états originaux ont formé... </p>
Les élements
L'élément
L'élément
Comme vous l'avez sûrement deviné,
Les éléments
Afin de rendre nos exemples de code plus lisibles, les balises suivantes sont
autorisées dans des blocs
Exemple de code en couleur :
# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ DESCRIPTION ="Exuberant ctags generates tags files for quick source navigation" HOMEPAGE ="http://ctags.sourceforge.net" SRC_URI ="mirror://sourceforge/ctags/${P}.tar.gz" LICENSE ="GPL-2" SLOT ="0" KEYWORDS ="~mips ~sparc ~x86" IUSE ="" src_compile() {econf --with-posix-regexemake ||die "emake failed" }src_install() {make DESTDIR ="${D}" install ||die "install failed" dodoc FAQ NEWS READMEdohtml EXTENDING.html ctags.html }
Nous avons déja parlé de la balise
Les formes courtes facilitent l'utilisation des noms et adresses de
développeurs Gentoo. Les formes
Ceci est particulièrement utile si vous voulez nommer un développeur dont le
nom contient quelques caractères exotiques que vous ne pouvez pas écrire.
La balise
Vous ne devriez pas utiliser l'élément
Veuillez éviter
Voici comment insérer des images dans un document :
GuideXML contient une syntaxe de tableau simplifiée et similaire à celle du
HTML. Pour commencer un tableau, utilisez une balise
En plus, les balises d'en-tête (
Les cellules de contenu (
| Ce titre regroupe 4 colonnes | |||
|---|---|---|---|
| Ce titre regroupe 6 lignes | |||
| Bloc-titre 2x2 | |||
Pour créer des listes, ordonnées ou pas, utilisez simplement des balises
similaires à celles de XHTML :
Les listes de définition (
La liste suivante recopiée depuis
Grâce à GuideXML, il est facile de faire référence à d'autres parties du
document par l'utilisation de liens hypertextes. Vous pouvez créer un lien
pointant vers le
Cependant, certains guides sont susceptibles de changer régulièrement et de
tels liens risquent de devenir incorrects ou inexistants. Pour résoudre ce
problème, vous pouvez nommer les éléments
<chapter id="foo"> <title>Le titre de foo !</title> ... <p> Veuillez consulter le <uri link="#foo">chapitre sur foo</uri> </p>
L'attribut
Lorsque vous marquez un document comme obsolète, il est de bon aloi de mettre
un lien vers la nouvelle version. L'attribut
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> <!-- $Header$ --> <guide disclaimer="obsolete" redirect="/doc/fr/handbook/handbook-x86.xml"> <title>Guide d'installation Gentoo pour x86</title> <author title="Auteur"> ...
Les documents FAQ doivent commencer avec une liste de questions avec un lien
vers leur réponse respective. La création d'une telle liste est à la fois longue
et source d'erreurs. La liste peut être créée automatiquement si vous utilisez
un élément
Un coup d'œil rapide à une
Afin de pouvoir produire des documentations plus volumineuses, telles que le
La première étape est de créer un document « maître » qui ne contient que très peu de texte, mais qui relie les différents documents. Sa syntaxe est très proche de GuideXML :
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE book SYSTEM "/dtd/book.dtd"> <!-- $Header$ --> <book> <title>Exemple d'utilisation du type « book »</title> <author...> ... </author> <abstract> ... </abstract> <!-- The content of this document is licensed under the CC-BY-SA license --> <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <license/> <version>...</version> <date>...</date>
Jusqu'ici, la seule différence avec un document normal est que l'élément
<part> <title>Première partie</title> <abstract> ... </abstract>(Les chapitres suivent) </part>
Chaque partie doit contenir un titre (élément
Chaque partie contient des chapitres (éléments
<chapter> <title>Chapitre 1</title> <abstract> Ceci est un court résumé du chapitre. </abstract> <include href="chemin/vers/chapter-one.xml"/> </chapter>
Le contenu d'un chapitre est structuré de la manière suivante :
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE sections SYSTEM "/dtd/book.dtd"> <!-- $Header$ --> <!-- The content of this document is licensed under the CC-BY-SA license --> <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <sections> <abstract> Ceci est une petite explication du premier chapitre. </abstract> <version>...</version> <date>...</date>(Définir des éléments <section> et <subsection>) </sections>
Chaque chapitre contient des éléments
Chaque chapitre doit avoir ses propres éléments date et version. La date la plus récente parmi tous les documents principaux et les documents de chapitres sera affichée lorsqu'un utilisateur visite une quelconque partie du manuel.
Quelques fois, les mêmes valeurs sont répétées plusieurs fois dans plusieurs parties d'un manuel. Les opérations de recherche globale et de remplacement ont tendance à oublier quelques itérations ou mènent à des changements involontaires. De plus, il peut être utile de définir des valeurs différentes qui pourront être partagées dans des chapitres différents, selon le manuel qui inclut le chapitre.
Les valeurs globales peuvent être définies dans le fichier maître d'un manuel et utilisées dans tous les chapitres inclus.
Pour définir des valeurs globales, ajoutez un élément
L'exemple suivant définit trois valeurs dans le fichier principal d'un manuel :
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE book SYSTEM "/dtd/book.dtd"> <!-- $Header$ --> <book> <title>Exemple d'utilisation du book</title> <values> <key id="arch">x86</key> <key id="min-cd-name">install-x86-minimal-2007.0-r1.iso</key> <key id="min-cd-size">57</key> </values> <author...> ... </author> ...
Les valeurs définies peuvent alors être utilisées tout au long du manuel avec
l'élément en ligne
<p> L'image du CD d'installation Minimal s'appelle <c><keyval id="min-cd-name"/></c> et ne pèse que <keyval id="min-cd-size"/> Mo. Une connexion à Internet est nécessaire. Vous pouvez utiliser ce CD d'installation pour installer Gentoo mais <e>seulement</e> si vous disposez d'une connexion à Internet. </p>
Pour rendre la vie plus facile à nos traducteurs, n'utilisez seulement que de
vraies valeurs, c-à-d. dont le contenu n'a pas besoin d'être traduit. Par
exemple, nous avons défini la valeur
Les chapitres qui sont utilisés par plusieurs manuels comme nos
La condition doit être une expression
L'exemple suivant utilise la valeur
<body test="contains('AMD64 x86',func:keyval('arch'))">
<p>
Ce paragraphe s'applique aux architectures x86 et AMD64.
</p>
<p test="func:keyval('arch')='x86'">
Ce paragraphe ne s'applique qu'aux architectures x86.
</p>
<p test="func:keyval('arch')='AMD64'">
Ce paragraphe ne s'applique qu'aux architectures AMD64.
</p>
<p test="func:keyval('arch')='PPC'">
Ce paragraphe ne s'affichera jamais !
Le corps complet est zappé à cause de la première condition.
</p>
</body>
<body test="contains('AMD64 PPC64',func:keyval('arch'))">
<p>
Celui-ci s'applique aux architectures AMD64, PPC64 et PPC à
cause de la chaîne 'AMD64 PPC64' qui contient 'PPC'.
</p>
<note test="func:keyval('arch')='AMD64' or func:keyval('arch')='PPC64'">
Cette note ne s'applique qu'aux architectures AMD64 et PPC64.
</note>
</body>
Puisque le projet de documentation de Gentoo est un effort commun, il est probable que plusieurs personnes doivent modifier un même document. Il convient donc de respecter certaines conventions quant au style d'écriture. Nos conventions régissent d'une part le style d'écriture interne des documents au format XML, et d'autre part le contenu pour éviter certaines incompréhensions chez nos lecteurs.
Ces deux aspects sont décrits ci-dessous.
Un saut de ligne doit suivre
Une ligne vide doit suivre
La longueur des lignes doit être limitée à 80 positions sauf à
l'intérieur de la balise
L'indentation est proscrite, sauf à l'intérieur des balises
Si un saut de ligne est nécessaire à l'intérieur des balises
Un exemple d'indentation :
<table>
<tr>
<th>Foo</th>
<th>Bar</th>
</tr>
<tr>
<ti>Ceci est un exemple d'indentation</ti>
<ti>
Si le texte ne tient pas sur 80 colonnes, il faut alors l'indenter si la
balise mère l'autorise
</ti>
</tr>
</table>
<ul>
<li>Une option</li>
<li>Une autre option</li>
</ul>
Les attributs doivent être définis sans espace entre le nom de l'attribut, le signe « = » et la valeur de l'attribut. Voici un exemple :
<pre caption = "Attribut">(Incorrect) <pre caption="Attribut">(Correct)
À l'intérieur des tables (
Chaque phrase, y compris celles qui figurent dans les tables et les listes, devrait commencer par une majuscule.
<ul> <li>Pas de point</li>(Le point est utilisé en français.) <li>Un point. Plusieurs phrases, vous vous rappelez ?</li> </ul>
Les exemples de code doivent
Essayez d'utiliser
Quand vous placez un commentaire à l'intérieur d'une balise
(Remplacez « jean » par votre nom.) # id jean
GuideXML a été spécialement conçu pour être « simple et léger » afin
que les développeurs puissent passer plus de temps à écrire de la documentation
et moins à apprendre la syntaxe XML. Espérons que cela permette aux
développeurs qui ne sont habituellement pas très « bavards » d'écrire
de la documentation Gentoo de qualité. N'hésitez pas à consulter nos