|
Introduction au Projet de Documentation de FreeBSD pour les nouveaux participants | ||
---|---|---|
Précédent | Chapitre 3. Introduction à SGML | Suivant |
Les entités (générales et paramètres) sont particulièrement utiles pour inclure un fichier dans un autre.
Supposons que le contenu d'un livre SGML soit découpé en fichiers, à raison d'un fichier par chapitre, appelés chaptitre1.sgml, chapitre2.sgml, et ainsi de suite, et que le fichier livre.sgml inclue ces chapitres.
Pour que vos entités aient pour valeur le contenu de ces fichiers, vous les déclarerez avec le mot-clé SYSTEM. Cela indique à l'analyseur SGML qu'il doit utiliser le contenu du fichier mentionné comme valeur de l'entité.
Exemple 3-12. Utiliser les entités générales pour inclure des fichiers
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ <!ENTITY chapitre.1 SYSTEM "chapitre1.sgml"> <!ENTITY chapitre.2 SYSTEM "chapitre2.sgml"> <!ENTITY chapitre.3 SYSTEM "chapitre3.sgml"> <!-- Et ainsi de suite --> ]> <html> <!-- Utilisation des entités pour inclure les chapitres --> &chapitre.1; &chapitre.2; &chapitre.3; </html>
Avertissement : Quand vous vous servez d'entités générales pour inclure d'autres fichiers dans un document, les fichiers inclus (chapitre1.sgml, chapitre2.sgml, et ainsi de suite) ne doivent pas commencer par une déclaration DOCTYPE. Ce serait une erreur de syntaxe.
Rappelez-vous que les entités paramètres ne peuvent être utilisées que dans un contexte SGML. Quand aurez-vous besoin d'inclure un fichier dans un contexte SGML ?
Vous pouvez vous en servir pour être sûr de pouvoir réutiliser vos entités générales.
Supposons que votre document comporte de nombreux chapitres, et que vous réutilisiez ces chapitres dans deux livres différents, chacun organisant ces chapitres de façon différente.
Vous pourriez donner la liste des entités en tête de chaque livre, mais cela pourrait rapidement devenit fastidieux à gérer.
Mettez, au lieu de cela, les définitions des entités générales dans un fichier, et utilisez une entité paramètre pour inclure ce fichier dans votre document.
Exemple 3-13. Utiliser les entités paramètres pour inclure des fichiers
Mettez d'abord les définitions de vos entités dans un fichier séparé, appelé chapitres.ent. Voici ce qu'il contiendra :
<!ENTITY chapitre.1 SYSTEM "chapitre1.sgml"> <!ENTITY chapitre.2 SYSTEM "chapitre2.sgml"> <!ENTITY chapitre.3 SYSTEM "chapitre3.sgml">
Créez maintenant une entité paramètre qui fasse référence au contenu de ce fichier. Utilisez ensuite cette entité pour inclure le fichier dans votre document, vous pourrez alors y utiliser les entités générales. Ce que vous faites de la même façon que précédemment :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ <!-- Définissez une entité paramètre pour inclure le fichier des entités générales pour les chapitres --> <!ENTITY % chapitres SYSTEM "chapitres.ent"> <!-- Utilisez maintenant l'entité générale pour inclure ce fichier --> %chapitres; ]> <html> &chapitre.1; &chapitre.2; &chapitre.3; </html>
Créez trois fichiers, para1.sgml, para2.sgml et para3.sgml.
Mettez-y quelque chose qui ressemble à ceci :
<p>C'est le premier paragraphe.</p>
Modifiez exemple.sgml de la façon suivante :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ <!ENTITY version "1.1"> <!ENTITY para1 SYSTEM "para1.sgml"> <!ENTITY para2 SYSTEM "para2.sgml"> <!ENTITY para3 SYSTEM "para3.sgml"> ]> <html> <head> <title>Exemple de fichier HTML</title> </head> <body> <p>La version courante de ce document est : &version;</p> ¶1; ¶2; ¶3; </body> </html>
Générez exemple.html en normalisant exemple.sgml.
% sgmlnorm -d exemple.sgml > exemple.html
Affichez exemple.html avec votre navigateur Web et vérifiez que les fichiers paran.sgml ont bien été inclus dans exemple.html.
Note : Vous devez d'abord avoir mis en pratique l'exemple précédent.
Modifiez comme ceci exemple.sgml :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" [ <!ENTITY % entites SYSTEM "entites.sgml"> %entites; ]> <html> <head> <title>Exemple de fichier HTML</title> </head> <body> <p>La version courant de ce document est : &version;</p> ¶1; ¶2; ¶3; </body> </html>
Créez un nouveau fichier, entites.sgml, qui contienne :
<!ENTITY version "1.1"> <!ENTITY para1 SYSTEM "para1.sgml"> <!ENTITY para2 SYSTEM "para2.sgml"> <!ENTITY para3 SYSTEM "para3.sgml">
Générez exemple.html en normalisant exemple.sgml.
% sgmlnorm -d exemple.sgml > exemple.html
Affichez exemple.html avec votre navigateur Web et vérifiez que les fichiers paran.sgml ont bien été inclus dans example.html.
Précédent | Sommaire | Suivant |
Entités | Niveau supérieur | Sections marquées |
Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:12