J'ai écrit mon CV en XML et mes outils transforment ce CV en XHTML, HTML, TXT, Postscript, PDF, RTF et DOC.
Voici les différentes étapes nécessaires pour créer cette application.
Le DTD
- XML est un méta-langage. Pour pouvoir créer un langage XML il faut donc tout d'abord créer son DTD (Document Type Definition). Un DTD est un fichier spécifiant la grammaire du langage XML que l'on veut créer. Voici le DTD que j'ai écrit
pour gérer mon CV.
- Une autre façon de définir un XML est d'utiliser un XSD (eXtended Schema Definition). C'est bien plus puissant qu'un DTD, et en plus c'est écrit en XML. Voici le XSD que j'ai écrit.
Le XML
- J'ai ensuite écrit mon CV en XML conformément à mon DTD. Voici le XML que j'ai écrit.
Le XHTML
- XHTML (eXtended HTML) est tout simplement HTML4.0 traduit en XML. Les seules différences par rapport à HTML c'est que les tags ouverts doivent être obligatoirement fermés, et que les tags unaires comme <br> doivent se terminer par un slash : <br />. Le XHTML est lisible par les browsers de niveau 4.
Le XSL
- Une des règles d'or avec XML est de séparer le fond de la forme. Le fond est stockée dans XML alors que la forme peut être stocker dans XSL (eXtended Stylesheet Language). XSL est un langage XML qui applique des styles à XML. Cependant XSL seul n'est pas assez puissant, j'ai donc utilisé des langages dérivés de XSL : XSLT et XPath
- XSLT (XSL Transformation) est un langage XSL capable de transformer n'importe quel XML vers un autre XML quels que soit leurs DTDs.
- XPath (eXtended XML Path) est un moyen d'associer un tag XML à un chemin.
- Le couple XSLT-XPath permet donc de transformer un XML vers un autre XML à base de requêtes XSLT-XPath.
- Pour visualiser mon CV XML, je l'ai transformé en XHTML grâce à XSLT. Voici le XSLT que j'ai écrit.
Le DOM
- DOM (Document Object Model) est la représentation objet de XML. C'est une API fournie par le W3C. L'INRIA en a fait une API Java. Tous mes développements XML utilisent DOM.
- Grâce à DOM, tous mes développements peuvent être utilisés avec d'autres classes Java respectant DOM. La traduction dans d'autres langages comme Perl est aisé.
Le couple XML-XSLT
- Pour voir mon CV XML dans un browser, il faut donc associer mon fichier XML avec son XSLT. Voici le fichier que j'ai écrit. Ce fichier est visible (avec des bugs) uniquement par Amaya.
- Comme tout le monde ne possède pas Amaya, l'autre solution consiste à générer un fichier XHTML depuis le XML et le XSLT. Pour cela j'ai développé XSLEngine à partir des classes XMLParserV2 d'Oracle. Cette classe Java applique un XSL ou un XSLT à un XML. J'obtiens donc mon CV en XHTML.
La génération des différents types de fichier
- Pour pouvoir rendre XHTML visible avec tous les browsers, j'ai créé XHTML2HTML qui est un traducteur de XHTML vers HTML. J'obtiens avec cet outil mon CV en HTML.
- J'ai également crée XHTML2TXT qui est un traducteur XHTML vers TXT. J'obtiens avec ainsi mon CV en TXT.
- La référence des documents sur le web est PDF. J'ai donc développé un outil qui s'appelle XHTML2PDF qui est capable de générer du PDF à partir de XHTML. J'obtiens alors mon CV en PDF.
- Avec le programme Perl libre HTML2PS je génère mon CV en Postscript depuis XHTML.
- Avec Visual Basic, il est très facile de générer mon CV en RTF ou en DOC depuis XHTML.
- Bien d'autres types de fichier peuvent être générés.
- Mon outil gère aussi la langue anglaise.
Conclusion
- Ce petit exemple nous montre que XML est viable.
- Les performances sont honnêtes en Java (1 à 3s pour traiter et générer un fichier). Ces performances sont meilleures en Perl.
- La compatibilité des applications DOM a été testée avec succès.
- Développer en XML ne coûte pas plus cher et offre tous les avantages d'un langage universellement reconnu.
Copyright Cyril Vincent
Bizolin2000
Mise à jour le 20/03/00
Home