| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
| <html> | |
| <head> | |
| <title>FAQ_item</title> | |
| <meta http-equiv="content-type" content="text/html; charset=UTF-8"> | |
| </head> | |
| <body> | |
| <table border="0" cellpadding="4" width="100%"> | |
| <tbody> | |
| <tr style="font-family: helvetica,arial,sans-serif;"> | |
| <td align="left" valign="top" width="100%"><!-- Content --> | |
| <h1>OpenOffice.org et le XML<br> | |
| </h1> | |
| <br> | |
| <span style="font-family: times new roman,times,serif;">Vous avez | |
| sans-doute souvent entendu parler du XML, entendu dire que le | |
| format de fichier d'OpenOffice.org était du XML, mais qu'en est-il | |
| exactement et surtout qu'est-ce que cela signifie, qu'est-ce en fin de | |
| compte que le XML ?</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <br style="font-family: times new roman,times,serif;"> | |
| <h2 style="font-family: times new roman,times,serif;"><span | |
| style="font-family: helvetica,arial,sans-serif;">Qu'est-ce que le XML ?</span><br> | |
| </h2> | |
| <span style="font-family: times new roman,times,serif;">Cet | |
| acronyme est l'abréviation de eXtensible Markup Language. En le | |
| traduisant en français, cela voudrait dire "langage à balises | |
| extensibles". Cela ne vous en dit pas beaucoup plus :)</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Le XML | |
| fait partie de la classe des métalangages, c'est en fait un | |
| sous-ensemble du SGML. Bon, alors qu'est-ce que le SGML (Standard | |
| Generalized Markup Language) ? C'est un langage qui permet de créer des | |
| documents de façon structurée et modulaire. Concrètement cela veut dire | |
| que vous pouvez créer un document à partir de données aussi | |
| hétéroclites que du son, des données provenant d'une base, ou du texte | |
| et des images. Le SGML a donc été défini pour une large gamme | |
| d'applications et doit être maintenu sur un très long terme. Ce langage | |
| étant assez complet et complexe, le XML a été créé pour simplifier le | |
| SGML.</span><br style="font-family: times new roman,times,serif;"> | |
| <br style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Ce qui | |
| peut prêter à confusion au premier abord, c'est que le HTML | |
| ressemble beaucoup au XML. C'est un langage avec des balises, qui | |
| s'ouvrent et qui se ferment. Grande différence pourtant, le HTML a été | |
| défini avec des balises qui décrivent la présentation, alors que les | |
| balises du XML, elles, traitent du contenu. Mais oui, le HTML est aussi | |
| un sous ensemble du SGML, mais uniquement pour traiter des données sur | |
| le Web.</span><br style="font-family: times new roman,times,serif;"> | |
| <br style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Si l'on | |
| se résume, le XML est donc un moyen (et ni un langage de | |
| programmation, ni un nouveau HTML) clair de structurer, décrire et | |
| échanger des données. On sépare le contenu de la forme pour permettre | |
| cet échange. Le contenu pourra alors être réutilisé sous d'autres | |
| formes ou d'autres supports. Les données peuvent être de toutes sortes | |
| : formules chimiques, données financières, données musicales, texte...<br> | |
| L'actualité du xml en France <a href="http://xmlfr.org/">xmlfr.org</a><br | |
| style="font-family: times new roman,times,serif;"> | |
| </span> <br style="font-family: times new roman,times,serif;"> | |
| <span style="font-weight: bold;"><span | |
| style="font-family: times new roman,times,serif;">Un exemple du | |
| contenu xml d'un | |
| document OOo :</span><br> | |
| </span><?xml version="1.0" encoding="UTF-8"?><br> | |
| <!DOCTYPE office:document-meta PUBLIC "-//OpenOffice.org//DTD | |
| OfficeDocument 1.0//EN" "office.dtd"><br> | |
| <office:meta><br> | |
| | |
| <meta:generator>OpenOffice.org 1.1.1 | |
| (Win32)</meta:generator><br> | |
| <!--645m35(Build:8762)--><br> | |
| | |
| <meta:initial-creator>Sophie Gautier</meta:initial-creator><br> | |
| | |
| <meta:creation-date>2004-05-10T19:07:36</meta:creation-date><br> | |
| <div style="margin-left: 40px;"><meta:document-statistic | |
| meta:table-count="0" meta:image-count="31" meta:object-count="0" | |
| meta:page-count="17" meta:paragraph-count="213" meta:word-count="2647" | |
| meta:character-count="16353"/><br> | |
| </div> | |
| </office:meta><br> | |
| <span style="font-family: times new roman,times,serif;">Vous le | |
| voyez les balises <> distinguent le contenu du document. | |
| Une balise ouverte doit toujours être fermée <office:meta> sera | |
| terminé par </office:meta>. Pour ajouter des informations au | |
| document, on lui donne des attributs, toujours accompagnés d'une valeur | |
| : meta:page-count="17". L'attribut meta:page-count a la valeur "17" (le | |
| document a 17 pages). On peut également placer des commentaires comme | |
| ceci :</span> <!--645m35(Build:8762)-->. <br> | |
| <span style="font-weight: bold;"></span> | |
| <h2>Pourquoi choisir le XML ?<br> | |
| </h2> | |
| <span style="font-family: times new roman,times,serif;">Si l'on | |
| regarde le fragment de code XML ci-dessus, il y a quelques | |
| choses qui surprennent :</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <ul style="font-family: times new roman,times,serif;"> | |
| <li>le XML est lisible par vous même, mais également par la | |
| machine. C'est un de ses grands avantages.</li> | |
| <li>Il est unicode (unicode : on définit un nombre unique pour | |
| chaque charactère, quels que soient la plateforme, le langage, le | |
| programme). Cela veut dire qu'il peut être stocké dans différents | |
| encodages. Quelle différence ? Vous savez sans doute que les documents | |
| étaient (sont encore) encodées en ASCII, mais celui-ci ne se rapporte | |
| qu'à un seul alphabet et un seul système d'écriture. Le fragment de | |
| code indique un encodage UTF-8 qui est supporté par bon nombre | |
| d'alphabets.</li> | |
| <li>le XML est orienté objet : au lieu de décomposer les | |
| données dans des tables normalisées liées par relations, il décrit des | |
| objets (concrets ou abstraits) en modelisant leurs propriétés telles | |
| qu'elles sont, ce qui rend les documents XML plus intuitifs à | |
| comprendre.</li> | |
| <li>Enfin, le XML distingue le contenu de la forme, la mise en | |
| page des données étant assurée par des langages tiers comme CSS, XSL...</li> | |
| <li>le XML génère un faible coût au niveau des composants | |
| logiciels, d'où sa bonne intégration dans l'industrie informatique.</li> | |
| </ul> | |
| <h3>Le XML de OOo</h3> | |
| <span style="font-family: times new roman,times,serif;">Et | |
| comment, à quoi voit-on que OOo est du XML ? OOo a un format de | |
| fichier .xml natif compressé. Cela signifie que les fichiers qui | |
| composent votre document OOo sont encapsulés dans une archive. </span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Un | |
| exemple : prenez votre dézipeur favorit et ouvrez n'importe quel | |
| fichier .sxw (Writer) avec, voici ce que vous obtenez :</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <img alt="" src="zipOOo.jpg" | |
| style="width: 121px; height: 176px; font-family: times new roman,times,serif;"><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Une | |
| collection de fichiers différents dont certains portent l'extension | |
| .xml.</span><br style="font-family: times new roman,times,serif;"> | |
| <br> | |
| <span style="font-weight: bold;">Quels modules d'OOo utilisent le | |
| xml ?</span> <br> | |
| <span style="font-family: times new roman,times,serif;">Tous les | |
| modules d'OOo utilisent le xml comme format de fichier natif. | |
| Le module Math utilise une structure de package un peu différente, mais | |
| du xml | |
| à l'intérieur du package : MathML qui est un standard xml pour les | |
| formules. | |
| Egalement, certains fichiers de configuration utilisent le XML. Vous | |
| retrouverez toujours ces fichiers :</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">- le | |
| fichier meta.xml contient des informations au sujet du document | |
| (l'auteur, la date de la dernière sauvegarde).</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">- le | |
| fichier styles.xml contient les styles utilisés dans le document</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">- le | |
| fichier contentt.xml contient le contenu principale du document | |
| (texte, tableaux, éléments graphiques...)</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">- le | |
| fichier settings.xml, en général spécificique à une application, | |
| il contient certains paramètres tel que l'imprimante sélectionnée...)</span><br | |
| style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">- les | |
| fichiers META-INF/manifest.xml contiennent des informations | |
| supplémentaires sur les autres fichiers (comme le tympe MIME ou le | |
| cryptage).</span><br style="font-family: times new roman,times,serif;"> | |
| <span style="font-family: times new roman,times,serif;">Les | |
| images sont sauvegardées dans le format natif à l'intérieur du zip. | |
| Vous comprenez maintenant pourquoi les fichiers OOo occupent si peu de | |
| place sur votre disque !<br> | |
| <br> | |
| Pour en savoir plus sur les formats de fichiers OpenOffice.org, | |
| consultez le site <a href="http://xml.openoffice.org/">xml.openoffice.org</a><br> | |
| <br> | |
| Notez qu'un document XML ne peut être affiché tel quel, il lui faut un | |
| langage de transformation (XSLT) et un langage de formatage des objets | |
| (XSL-FO) pour pouvoir afficher toutes les informations correctement (ex | |
| : si votre document est constitué des diverses parties organisées | |
| distinctement ou encore s'il contient un tableau avec des formatages...)</span><br> | |
| <h2>DTD, Schéma XML, XSLT, ..., qu'est-ce ?</h2> | |
| <ul> | |
| <li><span style="font-weight: bold;">DTD</span> : Document | |
| Type Définition. La DTD va spécifier quels éléments et attributs | |
| vont être utilisés dans le document XML et va en décrire la structure | |
| et le contenu. La DTD peut être interne au document (elle inclut les | |
| définitions au sein même du document) ou externe (elle est située dans | |
| un fichier local ou appelée par URL). La norme XML ne rend pas | |
| obligatoire la DTD, ainsi, on parle de document XML valide s'il | |
| comporte une DTD ou de document XML bien formé s'il n'en comporte pas | |
| (mais qu'il respecte le strandard XML).</li> | |
| exemple de contenu de DTD OOo: <br> | |
| <br> | |
| List the initial writers in | |
| this form (with initial="true"). Initial Writers is a term from the PDL | |
| (License). <br> | |
| If one of these authors | |
| assined copyright to somebody else, e.g. the company they are working | |
| for, use the attribute copyright="..." <br> | |
| and name the copyright | |
| holder.<br> | |
| --><br> | |
| <!ELEMENT authors ( author+ ) ><br> | |
| <!ELEMENT author (#PCDATA)><br> | |
| <!ATTLIST author<br> | |
| | |
| id ID #REQUIRED<br> | |
| | |
| initial CDATA #IMPLIED<br> | |
| | |
| email CDATA #REQUIRED><br> | |
| <!--<br> | |
| <li><span style="font-weight: bold;">Schéma XML </span>: Un | |
| shéma permet également de définir la stucture d'un document XML, il est | |
| cependant plus souple qu'une DTD pour définir les types d'éléments. Il | |
| reprend les acquis des DTD pour définir les modèles. Les schémas font | |
| l'objet | |
| d'une spécification du W3C.<br> | |
| </li> | |
| <li><span style="font-weight: bold;">XSLT</span> : eXtensible | |
| Style Language Transformation : C'est un langage de programmation | |
| destiné à transformer un document XML en d'autres formes, par exemple | |
| en RTF, en HTML ou en PDF, etc. Ce langage est déclaratif et non | |
| procédural (pas d'algorithme), ce qui le rend plus facile d'accès pour | |
| les non développeurs. Lui même écrit en XML, il peut être réinterpreté. | |
| En fait, XSLT permet de tranformer l'arborescence du XML en règles de | |
| modèles décrivant une feuille de style. On le compare souvent aux CSS | |
| car comme les CSS il produit des règles, l'ordre d'apparition des ces | |
| règles n'a pas d'importance dans le document, il comporte également des | |
| priorités lorsque plusieurs règles peuvent s'appliquer. La | |
| différence c'est que si une feuille CSS est vide, cela n'aura aucune | |
| incidence sur le document html généré, elle sera simplement ignorée | |
| n'étant qu'un habillage, alors que la feuille XSLT générera un | |
| document vide (en réalité, ce n'est pas tout à fait vrai car la | |
| spécification a défini des règles internes toujours présentes, donc le | |
| document n'est jamais vraiment vide :) <br> | |
| Un très bon site, plein de ressources et de filtres XSLT à utiliser | |
| avec OOo : <a href="http://www.maxopeninfo.com/">http://www.maxopeninfo.com/ | |
| </a><br> | |
| </li> | |
| <li><span style="font-weight: bold;">XPath</span> : langage | |
| déclaratif associé à XSLT et qui permet de définir des chemins de | |
| localisation à l'intérieur de l'abre XML.</li> | |
| <li><span style="font-weight: bold;">XSL-FO</span> : eXtensible | |
| Style Language for Formating Object : Langage permettant de définir les | |
| objets de présentation générique (listes, tableaux...) utilisé assez | |
| souvent pour des sorties PDF. Il intervient après une transformation | |
| XSLT et permet de faire une interprétation visuelle des objets traités.<br> | |
| </li> | |
| </ul> | |
| <h2>OASIS</h2> | |
| Oasis (Organisation for the Advancement of Structured Information | |
| Standard) est un consortium global qui dirige le développement, la | |
| convergence et l'adoption de standards pour l'e-business. Il définit | |
| donc le standard XML. Cette définition se fait en s'appuyant sur les | |
| formats de fichiers OpenOffice.org, ceux-ci étant ouverts et conforme | |
| avec une DTD publiée. Plus d'informations ici :<br> | |
| <a | |
| href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office">http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office</a><br> | |
| Le format de fichiers OpenOffice.org a maintenant été adopté par KDE<br> | |
| <br> | |
| <span style="font-family: helvetica,arial,sans-serif;"><a | |
| href="index.html">Retour à l'index de la FAQ Générale</a> | <a | |
| href="../../faq-fr.html">Retour à l'index général de la FAQ</a></span><span | |
| style="font-weight: bold;"><span style="font-weight: bold;"></span></span><br> | |
| <br> | |
| </td> | |
| </tr> | |
| <tr> | |
| <td align="right" valign="bottom"> | |
| <p> </p> | |
| <!-- Copyrights --> | |
| <p><small>OpenOffice.org native tongue concept and francophone | |
| project are built for you with pride by Guy Capra (Alomphega).<br> | |
| This fr project is also led and maintained by Sophie Gautier.</small></p> | |
| <!-- /Copyrights --> </td> | |
| </tr> | |
| <tr> | |
| <td style="vertical-align: top;"><br> | |
| </td> | |
| </tr> | |
| </tbody> | |
| </table> | |
| <br> | |
| <br> | |
| <br> | |
| <br> | |
| <br> | |
| <br> | |
| </body> | |
| </html> |