XML -- TP 9 : FAQ Projets


Présentation

Ce TP présente des techniques qui peuvent vous être utiles pour la réalisation de vos projets. Vous pourrez avoir besoin d'outils ou de fichiers d'exemples utilisés au cours des TPs précédents.

Vous ne devrez donc pas rendre ce TP, il doit simplement vous aider dans la réalisation du projet.

Exercice 1 : Interaction FOP et eXist

Dans plusieurs projets, vous devez permettre l'exportation du document XML, ou du résultat d'une requête, sous la forme d'un document PDF. Nous avons vu comment réaliser la présentation d'un document XML au format PDF à l'aide du format XSL-FO et d'une feuille de style XSL adaptée. Le logiciel fop permet alors de produire le document PDF souhaité. Il peut être utile de pouvoir appeler FOP sous la forme d'un service web, comme le logiciel eXist permet par exemple d'exécuter des requêtes XQuery au travers d'une interface web.

  1. Afin d'intégrer dans un même serveur web l'utilisation d'eXist et de FOP, le plus simple est d'installer un serveur apache Tomcat sur votre machine. Commencez donc par télécharger et installer ce logiciel depuis l'archive suivante : apache-tomcat-5.5.28.tar.gz

  2. Une fois installé, vous pouvez ouvrir la page internet locale : http://localhost:8080 La page d'accueil de Tomcat s'affiche. Pour installer de noveaux services (on parle de servlet), vous devez disposer d'une archive au format war du service voulu. Cette archive doit ensuite être placée dans le dossier webapps de Tomcat. Vous pouvez télécharger l'archive correspondant à eXist (exist.war) et celle correspondant à FOP (fop.war). Une fois déposées à leur place, vous pouvez exécuter ces services aux adresses suivantes : http://localhost:8080/exist et http://localhost:8080/fop

  3. Vous connaissez déjà le fonctionnement de la servlet eXist. Vous pouvez tester la servlet FOP avec des fichiers des TPs précédents. L'utilisation se fait de l'une des deux façons suivantes :

    Vous pouvez trouver plus de détails sur le site internet de FOP

  4. En reprenant l'exemple de site web vu lors du TP eXist, modifiez-le pour intégrer une nouvelle fonctionalité permettant l'export au format PDF de la base de données. Voici un fichier html réalisant cet appel, attention les liens des fichiers sont à mettre à jour pour votre machine. Observez le "&" qui est écrit avec "& amp;".


Exercice 2 : eXist : quelques compléments


Exercice 3 : XUL : ouvertures de pages web

Vous pouvez si vous le souhaitez utiliser XUL pour réaliser l'interface de votre site web. Des slides présentant cette technologie sont diponibles dans la rubrique archive de la page du cours. Voici un exemple simple comprenant une barre d'outil et un cadre contenant une page web. Il montre aussi comment définir une interaction avec les boutons permettant de changer la page chargée dans le cadre : sample.xul

Voilà un deuxième exemple qui montre comment appeler depuis un fichier xul un document XQuery. Attention, ce fichier n'est pas fonctionnel tel quel, il faut l'adapter à votre cadre. index.xul


Exercice 4 : XQuery et Javascript

On peut bien sûr construire avec XQuery des pages web utilisant des scripts écrits en Javascript. On peut également passer à ces scripts des arguments obtenus comme les résultats de requêtes XPath. Voici un exemple qui démontre ce genre d'utilisation. Attention à la syntaxe pour décrire l'appel à Javascript, l'imbrication de guillemets doubles et simples est plutôt complexe... Pour tester cet exemple, il suffit de l'utiliser dans l'exemple eXist à la palce du fichier simple display_XQ.xqy.