Skip to content

Petits cours de XSLT à l'usage des bibliothécaires (enfin, ceux qui veulent !) – N°1/XXX

09/12/2009


Bon, je me lance dans une vaste et longue série de billets sur XSL.

Comme j’ai pu le remarquer plusieurs fois, la documentation existe déjà partout, mais sa forme (ouvrages de 517 pages, sites consacrés au XML/XSL, etc.) n’est pas adaptée à la manière dont on aime aujourd’hui recevoir une formation :

  • de façon ciblée (pour bibliothécaires)
  • par petites doses homéopathiques (un billet de temps en temps)

Donc je vais essayer d’avancer progressivement dans l’utilisation de XSL, pour bibliothécaires.

Je vais m’appuyer notamment sur les statistiques DLL 2005-2008, dont je dispose dans un format XML, pour donner des exemples d’utilisations. Mais on pourrait tout résumer à cela : XSL sert à traiter des données XML.

Si vous avez des données, et si elles sont en XML ou que vous pouvez les mettre en XML (la transformation en XML pourra faire l’objet de billets particuliers), XSL vous permet de faire énormément de choses.

Parmi les exemples / exercices que je proposerai, certains vous sembleront certainement inutiles : ils seront là pour illustrer l’utilisation d’une fonction, mais sans usage immédiat parfois. Mais j’essaierai au maximum de présenter des choses convaincantes.

Pour commencer : l’éditeur XML

Pour le moment, et si la série vous intéresse (sinon, ne vous inquiétez pas, elle sera entrecoupée d’autres billets !), il vous faut un éditeur XML. Il en existe des payants (les plus utilisés étant XMetaL et XML Spy à ma connaissance), et je vous signale celui, gratuit et open source, que j’utilise : XML Copy Editor.

Il en existe d’autres, mais je ne vais pas m’amuser à en faire une liste.

Un éditeur XML a deux fonctions :

  1. il vous permet de visualiser un fichier XML avec de jolies couleurs mettant en valeur les balises XML (parce que même quand on n’y connaît rien, cette image

    est plus lisible que celle-ci, tout de même)
  2. derrière cette interface visualisation-édition tourne un processeur XSL. C’est lui qui est capable d’associer un fichier XML à un fichier XSL (le fichier XSL traitant les données du fichier XML)

On verra plus tard, dans l’utilisation de l’éditeur XML XML Copy Editor, comment associer un fichier XSL et un fichier XML.

Un tout petit exercice

Voici un fichier XML contenant la liste des communes prises en compte par la DLL entre 2005 et 2008, avec l’année d’apparition (car toutes les communes ne sont pas présentes dans les stats dès 2005, et certaines « disparaissent »).

Ce fichier est sous la forme :

<dll>
<ville>
<nom>Ambérieu-en-Bugey</nom>
<annee>2005</annee>
</ville>
<ville>
<nom>Ambronay</nom>
<annee>2005</annee>
</ville>

</dll>

Et voici un fichier XSL qui, appliqué à cette liste, permet de produire un fichier TXT contenant :

  1. le nombre total de communes
  2. la liste des communes, suivies par l’année d’apparition entre parenthèses

Vous avez un installé XML Copy Editor ?

  1. enregistrez les deux fichiers (XML et XSL). De préférence dans le même répertoire…
  2. ouvrez le fichier XML (qui s’appelle DLL_communes_annees.xml)
  3. Dans le menu de XML Copy Editor, cliquez sur XML > Transformation XSL et sélectionnez le fichier XSL téléchargé (extraction_noms.xsl), puis cliquez sur OK

XML Copy Editor ouvre un nouvel onglet « Document 1 » pour afficher le résultat de la transformation.

Bravo ! 🙂

On verra la une prochaine fois ce qui s’est passé… Vous avez un peu de temps pour ouvrir le fichier XSL (dans XML Copy Editor) et voir à quoi celui-ci ressemble.

Advertisements
16 commentaires
  1. 09/12/2009 16:23

    t’es pas normal toi, tu bosses du XML et t’es ni sous Mac ni sous Ubuntu (voir « Ubuntu-console noire »)…

  2. 09/12/2009 16:49

    @Shaun : je bosse sur le matériel qu’on me donne dans mon SCD, où je me suis appris tout seul à utiliser XSL.
    Tu crois que j’ai appris à utiliser XSL pour mes loisirs personnels ?

  3. 09/12/2009 18:41

    Je m’inscris au cours ! Quelle œuvre de salubrité publique !
    On peut jouer avec Notepad++ ou c’est seulement XML Copy Editor qui va bien (ou qui est mieux) ?
    Plus qu’à convaincre ma DSI qu’un éditeur XML correct est in-dis-pen-sa-ble en bibliothèque (et que quelqu’un qui ne me répond pas au téléphone avec des yeux ronds (si, si, j’ai entendu !) quand je parle de DTD et de feuilles de style, ce ne serait pas du luxe non plus, accessoirement…).

    Une apprentie geekette enthousiaste.

  4. 09/12/2009 19:09

    @claire_h : Il y a un processeur XSL qui tourne derrière Notepad++ ? A ma connaissance, ce logiciel ne remplit que la 1ère fonction (mettre de zolies couleurs), non ?

  5. 02/03/2011 19:02

    Merci pour ces petits cours, ça m’a permis d’oser rentrer dans la nébuleur du xml (parce que le html, ça finit par lasser…)

  6. 25/11/2011 16:24

    Salut,

    Je me colle aux exercices avec 2 ans de retard…[oui, je sais plus à la bourre on ne fait pas o_o]…du coup, j’ai une question idiote, je voulais savoir si tu avais toujours les fichiers qui t’ont servi à bâtir tout ça (DLL_communes.xml et extractions_noms.xsl)…

    Merci d’avance,

    Oisule

  7. 05/12/2011 16:45

    @Oisule : je n’ai pas oublié la question. Mais je n’arrive pas à mettre la main sur ces fichiers.
    Je les stockais jadis sur un espace OVH gratuit, mais celui-ci a été fermé sans préavis et sans excuse.
    Je chercherai encore.

  8. 05/12/2011 19:07

    @Lully: merci! en attendant, j’essaie de transposer à partir de l’extraction XML de notre ATOZ…

  9. 05/12/2011 20:37

    @Oisule : n’hésite pas à indiquer aussi la structure du fichier, ce que tu veux en faire et sur quoi tu buttes.
    Pour info, j’ai conservé les exercices 5, 6, 7, 8, 9 et 11.
    Donc rendez-vous dans 5 épisodes !

  10. 20/12/2011 12:02

    Merci!!

    Je viens déjà d’expérimenter les limites du copier-coller avec XML Copy Editor. Je voudrais travailler sur l’extraction XML de mon ATOZ, seulement EBSCO m’a renvoyé 5 fichiers … j’ai voulu les copier pour les fusionner dans un seul et unique fichier, mais visiblement les diacritiques sautent dans la manœuvre…

    Pas grave…je vais commencer à tester sans les fusionner..

  11. 20/12/2011 12:25

    @Oisule : je ne me souviens pas d’avoir rencontré un tel problème avec des exports XML de AtoZ. Mais dans ces cas-là, ce que je fais, c’est :
    1. ouvrir le fichier dans Notepad++
    2. sélectionner tout > copier (mettre le texte dans le presse papier)
    3. modifier l’encodage pour mettre UTF-8
    4. sélectionner tout > coller
    5. enregistrer et fermer le fichier
    Ainsi je suis sûr que tous les diacritiques sont en UTF-8 (et pas en ANSI, par exemple, ce que n’aime pas XML Copy Editor)

  12. 22/12/2011 17:08

    Effectivement ça marche!! ayé j’ai fini le premier exercice, et comme tu peux le voir, je suis pas une rapide!!
    merci!!

Trackbacks

  1. XML, XSL, XSLT-1, XSLT-2 (petites questions de terminologie) – N° 2/XXX « Encore un biblioblog…
  2. Techno-fil (13/12/09) « pintiniblog
  3. Composition d’un fichier XSL simple – N° 3/XXX « Encore un biblioblog…
  4. Série XSL : petit résumé au bout de deux mois « Bibliothèques [reloaded]

Les commentaires sont fermés.

%d blogueurs aiment cette page :