Journal Sortie de la première version de expp, le préprocesseur XML du projet Epeios.

Posté par (page perso) .
Tags : aucun
0
10
avr.
2007
expp est un préprocesseur XML. Il analyse un fichier XML et le transforme en un autre fichier XML, en fonction d'instructions contenues dans le fichier source sous forme de balises prédéfinies appartenant à un espace de noms (namespace) donné (xpp par défaut). Ces balises permettent la mise en oeuvre de macros, la définition de variables, dont on peut tester la valeur pour influer sur le contenu du fichier généré, l'inclusion d'autres fichiers, ...

Cet utilitaire, comme l'ensemble des bibliothèques et logiciels du projet Epeios, est multiplateforme. Il tourne sous GNU/Linux, Windows et, théoriquement, sous Mac (désolé, pas de Mac actuellement sous la main pour tester).

expp est publié sous GNU GPL (d'autres licences sont envisageables ; me contacter pour en savoir plus).

Cet utilitaire n'utilise que les bibliothèques systèmes et C/C++ standards. Bref, pas d'autres packages à installer pour mettre en oeuvre expp.

Pages dédiées : http://zeusw.org/epeios/software/expp/
Manuel utilisateur : http://zeusw.org/epeios/software/expp/manual/
CVS : http://cvs.savannah.gnu.org/viewcvs/epeios/epeios/tools/expp(...)
Sources/exécutable Windows : http://zeusw.org/epeios/download/expp/

Le projet Epeios : http://zeusw.org/epeios/

PS : mis à part ceux concernant le CVS, les documents correspondants aux liens donnés ci-dessus sont situés sur une machine quelque peu poussive. La patience est donc de mise ...
  • # Xslt

    Posté par . Évalué à 6.

    Ça se positionne comment par rapport à xslt ?

    Dam
    • [^] # Re: Xslt

      Posté par (page perso) . Évalué à 3.

      Disons que cela n'a pas la même finalité. Ceci dit, on peut arriver au même résultat avec XSLT, mais c'est beaucoup plus compliqué à mettre en oeuvre. Déjà, il est nécessaire d'avoir, en plus du fichier à traiter, un fichier décrivant le traitement à réaliser. Avec expp, les données à traiter et la description du traitement à réaliser est contenu dans un seul et même fichier (certes, ce n'est pas toujours un avantage ...).

      Pour ma part, j'utilise cet utilitaire pour, entre autres, gèrer mes fichiers de configurations (qui sont au format XML).
      Dans certains de ces fichiers, de nombreuses références à des fichiers doivent être fournies. Or, l'application utilisant ces fichiers de configuration est multiplateforme, et la localisation des fichiers n'est évidemment par la même sous Linux que sous Windows. Grâce à expp, juste en modifiant la valeur d'une variable, je génère, à partir d'un seul et même fichier, le fichier de configuration adapté à chaque plateforme.
      En outre, dans ce même fichier de configuration, certaines parties sont répètées à l'identique en de nombreux endroits. J'ai donc affecté chaque partie redondante à une macro, que je développe en différents endroits du fichier selon les besoins, et ce, autant de fois que nécessaire.
      On peut voir un exemple trivial de mise en oeuvre d'xpp à l'adresse http://zeusw.org/epeios/software/expp/tags

      J'ai conçu expp pour qu'il soit à XML ce que cpp est au C/C++ (toute proportion gardée, bien entendu). XSLT n'a pas du tout été développé dans cette optique (me semble-t'il ...).

      Freelance en ingénierie informatique.

      • [^] # Re: Xslt

        Posté par (page perso) . Évalué à 3.

        La grosse différence, effectivement, c'est qu'avec expp, il faut modifier le fichier XML avant de pouvoir le transformer. Tandis qu'avec XSLT, pas besoin de modifier le fichier d'origine, les règles de transformation sont dans un fichier à part. Ce qui fait que les règles de transformation peuvent s'appliquer à différent fichier en même temps.

        Bref, même objectifs pour les deux technos (produire du XML), mais contexte d'utilisation différente. XSLT peut être utilisé dans un flux de données, expp, pas du tout. Ils ont chacun leurs avantages et leurs inconvénients selon ce qu'on veut faire.

        À noter que dans la boite où je travaille, on bosse sur STTS, un langage de transformation, utilisable dans le même contexte qu'XSLT, mais bien plus simple à utiliser : STTS repose sur la même syntaxe que CSS, à savoir des sélecteurs CSS3 pour sélectionner les noeuds XML que l'on veut transformer, et des instructions de transformations (au lieu de propriétés de styles CSS...)

        Specs : http://www.w3.org/TR/NOTE-STTS3 (specs qu'on est en train d'améliorer)

        Et Olivier est en train de faire un proto 100% js / cross browser :
        http://glazman.org/weblog/dotclear/index.php?2007/03/07/3290(...)

        (un jour peut être, ce sera dans Firefox, qui sait... ;-) )

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.