INDEX I - Motivation de notre choix La Bible est sans aucun doute l'un des livres les plus édités dans le monde et aussi l'un des plus traduits. Actuellement, on recense des traductions de la Bible en plus de 1.800 langues reparties dans le monde entier. I - Motivation de notre choix -----------------------------------------2 II La Définition du Type de Document (DTD) : bible.dtd ---2 1 - Affichage de la DTD dans Cooktop ---------------------------------------------2 2 - Explication de la DTD :-------------------------------------------------------------3 Cependant, quelle que soit la langue dans laquelle elle est éditée, la structure du document reste toujours la même. Raison pour laquelle nous avons estimée qu'il est judicieux de choisir ce livre saint pour notre étude. Cependant, vu la longueur du livre intégral, nous avons pris une partie du Nouveau Testament dans l'évangile selon Marc. Pour la création de ce document, nous avons utilisé l'éditeur Cooktop v.2.200 fourni sur le CDTAL. III Le document XML : bible.xml ----------------------------------4 1 Présentation du document XML dans la fenêtre de Cooktop ------------4 II La Définition du Type de Document (DTD) : bible.dtd 1 - Affichage de la DTD dans Cooktop 2 Affichage du document XML dans un autre navigateur : Internet Explorer------------------------------------------------------------------------------------4 3 Explication du document XML ---------------------------------------------------5 Prologue IV La feuille de style : bible.xsl ------------------------------------7 1 Présentation de la feuille de style dans la fenêtre de Cooktop----------- 7 2 Explication de la feuille de style -------------------------------------------------8 V Validation du document XML --------------------------------- 10 Éléments et attributs qui structurent le document 1 2
<!ELEMENT ver_num (#PCDATA)> 2 - Explication de la DTD : <?xml version="1.0" encoding="iso-8859-1"?> Dans le prologue, on définit la version XML utilisée, ici "1.0", et le jeu de caractères utilisé ISO-8859-1 (Latin 1) permettant l'utilisation des accents et des caractères spéciaux. <!ELEMENT bible (info_doc, livre+)> Immédiatement après le prologue, nous avons la définition de l'élément racine, dans notre document, nous l'avons appelé bible. L'élément bible contient deux éléments : info_doc et livre. Le connecteur utilisé le, signifie que cet ordre des éléments doit être respecté dans le document. L'indicateur d'occurrence + après l'élément livre signifie que c'est un élément obligatoire et répétable une fois ou plus. <!ELEMENT info_doc (objectif, auteur)*> L'élément info_doc, fils de l'élément racine, contient deux éléments objectif et auteur qui sont tous les deux optionnels et répétables : indiqués par * à l'extérieur des parenthèses ( ), signifiant que cet indicateur d'occurrence s'applique à ces deux éléments. <!ELEMENT objectif (#PCDATA)> PCDATA est l'abréviation de Parsed Character Data, cela signifie que dans l'élément objectif, les données seront composées de caractères. <!ELEMENT ver_txt (#PCDATA)> <!ELEMENT ver_trad (#PCDATA)> <!ATTLIST ver_trad lang (gasy autre) "gasy"> III Le document XML : bible.xml 1 Présentation du document XML dans la fenêtre de Cooktop Lien vers la DTD <!ELEMENT auteur (#PCDATA)> <!ELEMENT livre (titre, corps)> <!ELEMENT titre (#PCDATA)> <!ELEMENT corps (chapitre+)> <!ELEMENT chapitre (unite?, unite_trad?, contenu)> L'indicateur d'occurrence? signifie que les éléments unite et unite_trad sont optionnels et peuvent figurer dans l'élément chapitre 0 ou une fois. Par exemple, si plus tard, nous souhaiterions éditer la Bible dans une langue unique, il sera possible de réutiliser la même DTD L'attribut lang ne s'affiche pas <!ELEMENT unite (#PCDATA)> <!ELEMENT unite_trad (#PCDATA)> <!ATTLIST unite_trad unite_lang (gasy autre) "gasy"> L'élément unite_trad possède un attribut unite_lang qui peut prendre deux valeurs : soit gasy soit autre, défini par le connecteur Ici, une valeur par défaut est définie "gasy" <!ELEMENT contenu (paragraphe+)> <!ELEMENT paragraphe (verset)+> <!ELEMENT verset (ver_num?, ver_txt, ver_trad*)> 2 Affichage du document XML dans un autre navigateur : Internet Explorer 3 4
- <bible> L'élément racine du document XML - <info_doc> Premier élément fils de Bible : info_doc <objectif>traduction de la Bible : français-malagasy</objectif> Nous avons écrit une traduction français-malagasy mais la même structure et la même feuille de style utilisées pourront être réutilisées dans toutes les langues <auteur>bako Rakotoniaina</auteur> </info_doc> - <livre> Deuxième élément fils de Bible : livre (la Bible est constitué de 66 livres, la structure de notre document peut s'adapter à l'intégralité de tous ces livres) L'attribut lang est automatiquement inséré <titre>evangile selon Marc</titre> - <corps> Le corps du livre est constitué de plusieurs chapitres - <chapitre> Chaque chapitre se divise en unités <unite>chapitre 1</unite> L'élément unite marque le numéro de chaque chapitre 3 Explication du document XML <?xml version="1.0" encoding="iso-8859-1"?> Le prologue est le même que celui que nous avons utilisé pour la DTD avec la même version de XML et le même jeu de caractères. <!-- edited with Cooktop v2.200 by BZR --> Commentaire, indiqué par les balises <-- --> <!DOCTYPE bible (View Source for full doctype...)> Le lien à la DTD s'écrit comme suit <!DOCTYPE bible SYSTEM "bible.dtd"> Ce lien est introduit par le mot-clé DOCTYPE suivi du nom de l'élément racine du document XML bible. La DTD se trouve localement sur l'ordinateur (dans le même répertoire que le document XML) indiqué par le mot-clé SYSTEM, elle n'est pas publique, s'applique seulement à notre document (et à d'autres traductions de la Bible, bien sûr!). Le nom de la DTD est bible.dtd <?xml-stylesheet type="text/xsl" href="bible.xsl"?> C'est le lien vers la feuille de style bible.xsl (nous verrons les explications y afférentes après les explications du document XML) <unite_trad unite_lang="gasy">toko 1</unite_trad> Chaque unite possède son équivalent dans la langue traduite. Dans notre document, c'est la langue malgache. Notons que l'attribut unite_lang a été automatiquement inséré pour tous les éléments unite_trad - <contenu> Le contenu de chaque chapitre est divisé en paragraphes - <paragraphe> Dans chaque paragraphe, nous aurons les versets - <verset> Chaque verset sera suivi de sa traduction dans la langue que l'on aura choisi, dans notre document, c'est le malgache <ver_txt>commencement de l'evangile de Jésus-Christ, Fils de Dieu.</ver_txt> Verset en langue française que nous avons appelé élément ver_txt <ver_trad lang="gasy">ny niandohan'ny filazantsaran'i Jesosy Kristy, Zanak'Andriamanitra.</ver_trad> L'élément ver_trad est le verset dans la langue de traduction. Comme pour l'attribut unite_lang, 5 6
l'attribut lang est aussi automatiquement inséré. De même, la valeur par défaut "gasy" attribué dans la DTD est automatiquement insérée </verset> Fin d'un verset. Remarque : dans un document XML, toutes les balises doivent être fermées. Le document étant assez long, nous avons repris juste la partie finale pour montrer sa structure complète. - <paragraphe> - <verset> <ver_num>27</ver_num> <ver_txt>ils se rendirent de nouveau à Jérusalem, et, pendant que Jésus se promenait dans le temple, les principaux sacrificateurs, les scribes et les anciens, vinrent à lui, et lui dirent :</ver_txt> <ver_trad lang="gasy">ary tonga tany Jerosalema indray izy ; ary raha nitsangatsangana teo an-kianjan'ny tempoly Jesosy, dia nanatona Azy ny lohan'ny mpisorona sy ny mpanoradàlana ary ny loholona</ver_trad> </verset> - <verset> <ver_num>28</ver_num> <ver_txt>par quelle autorité fais-tu ces choses, et qui t'a donné l'autorité de les faire?</ver_txt> <ver_trad lang="gasy">ka nanao taminy hoe : Fahefana manao ahoana no anaovanao izao zavatra izao? Ary iza no nanome Anao izany fahefana izany hanaovanao izao zavatra izao?</ver_trad> </verset> </paragraphe> </contenu> </chapitre> </corps> </livre> </bible> IV La feuille de style : bible.xsl 1 Présentation de la feuille de style dans la fenêtre de Cooktop (voir page suivante s.v.p.) La "mise en forme" du document se fait dans la feuille de style. Nous verrons dans la partie qui suit comment elle fonctionne. 2 Explication de la feuille de style <?xml version="1.0"?> Le prologue est le même que celui du document XML et de la DTD : on indique la version XML utilisée. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> xsl:stylesheet c'est l'élément racine de ce fichier. Un espace de nom est ensuite signalé par xmlns:xsl. Il s'agit d'une "adresse" inventé par le World Wide Web réservée pour un espace particulier à chaque type de document. <xsl:output method="html" version="4.0" doctype-public="-//w3c//dtd HTML 4.0 Transitional//EN" doctype-system="http://www.w3.org/tr/rec-html40/loose.dtd" encoding="iso-8859-1"/> <xsl:strip-space elements="*"/> 7 8
Dans la feuille de style, nous allons appliquer des "mises en forme" propres au HTML. La W3C a standardisée la norme HTML (et bien sûr la norme XHTML aussi!) et pour définir les instructions de la structure de document, on peut utiliser la DTD conforme ou transitoire qui permet l'utilisation de mise en page du HTML, c'est ce que nous utilisons ici. <xsl:template match="/"> xsl:template est une syntaxe X-Path. template signifie modèle. L'attribut match="/" nous renvoie à l'élément racine de notre fichier XML. Nous insérons donc notre modèle de cette manière. <html> <marquee><head>td SLFN7 - TAL ILPGA</head></marquee> <image src="bookanim.gif"/> <body bgcolor="lavender"><xsl:apply-templates/></body></html> Das ces lignes, nous définissons un titre qui se défile horizontalement par le biais de la balise marquee. Une image est insérée au-dessous de ce titre défilant. Le fond de l'écran est colorée en lavande : lavender <xsl:template match="titre"> <div align="center"> <br><font color="indigo" weight="bold"><h1><xsl:applytemplates/></h1></font></br> </div> Centrer le titre et le colorer en indigo, le graisser et lui donner le statut de titre de niveau 1 <xsl:template match="objectif"> <div align="center"> <i><h2><xsl:apply-templates/></h2></i> </div> L'élément objectif sera également centré et aura le statut de titre de niveau 2 <xsl:template match="auteur"> <div align="center"> <h3><xsl:apply-templates/></h3> </div> Le titre de niveau 3 sera occupé par l'élément auteur qui est aussi centré Les numérotations des chapitres dans les langues de traduction unite_trad seront tous uniformisées en bleu et graissées <xsl:template match="paragraphe"> <p><xsl:apply-templates/></p> Définition des paragraphes <xsl:template match="verset"> <br><xsl:apply-templates/></br> Passer à la ligne après chaque verset <xsl:template match="verset"> <br><i><font color="blue"><xsl:apply-templates select=".//ver_num"/></i></font> <font color="black"><xsl:apply-templates select=".//ver_txt"/></font></br> <br><i><font color="blue"><xsl:apply-templates select=".//ver_trad[@lang='gasy']"/></font></i></br> Dans chaque verset, colorer en bleu les numéros de verset ver_num et les textes de traduction ver_trad, comme les numérotations des chapitres, mettre également ces derniers en italique (rappel : tous les textes relatifs à la traduction sont en bleu et en italique) </xsl:stylesheet> Cette feuille de style pourra être utilisée, nous l'espérons, pour uniformiser l'édition de la Bible dans toutes les langues du monde. V Validation du document XML Nous avons donc écrit notre document XML et créé la DTD et la feuille de style correspondante. Quel suspens en attendant de voir si le document est valide ou non! Nous avons donc affiché notre document bible.xml et nous avons validé avec l'option validate du menu xml. Que s'est-t-il passé? Le document est-il valide ou non? <xsl:template match="unite"> <i><h3><xsl:apply-templates/></h3></i> Un autre titre de niveau 3, l'élément unite qui sera en italique <xsl:template match="unite_trad"> <font color="blue" weight="bold"><xsl:apply-templates/></font> 9 10
Tester ici la validité du document Afficher le résultat ensuite Le document est valide. Ouf!!! Le document est donc valide mais il reste à voir le résultat. Dans Cooktop, à partir du menu XML toujours, choisir Run XSLT ou Run XSLT and display in the default browser (si on souhaite visualiser le résultat dans une fenêtre de navigation. Nous avons préféré l'afficher dans une fenêtre de navigation et le résultat est ainsi : (voir copie d'écran page suivante s.v.p.) Voilà notre petite page! Nous espérons pouvoir perfectionner ce document dans le futur et terminer la traduction de l'intégralité de l'évangile de Marc tout au moins. Pouvoir l'appliquer à la traduction français-malgache de la Bible entière serait l'idéal. Jointe à ce document imprimé, une disquette contenant les fichiers suivants : bible.xml bible.dtd bible.xsl bookanim.gif redac.doc (le rapport) 11 12