Bonjour

Je suis en train d'écrire un xsl dans le but de transformer un fichier
xml décrivant des api en code C.

exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<fonctions>
  <methode name="methode1">
     <param name="param1_1" type="int" />
     <param name="param1_2" type="char" />
  </methode>
 
  <methode name="methode2">
     <param name="param2_1" type="int" />
     <param name="param2_2" type="char" />
  </methode>
 
  <methode name="methode3">
     <param name="param3_1" type="int" />
     <param name="param3_2" type="char" />
  </methode>
</fonctions>
Pour des raisons diverses, je ne désire pas parser le fichier en entier mais
seulement certaines méthodes dont les noms sont connus à l'avance et
pourront évoluer au fil du projet.

J'ai pensé passer les noms des méthodes à parser sur la ligne de commande
du parser. Hors, tout ce que j'ai vu permet de passer des paramètres
clef=valeur et je ne vois pas comment je pourrai utiliser sauf à faire un
truc pas propre du style (pour ne parser que les fonctions "methode2" et "methode3":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xsltproc --param fonction1 methode2  --param fonction2 methode3  stylesheet file
Derrière, je pourrai tester si le nom de la fonction dans le fichier xml est égal à la valeur
du paramètre fonction1 ou fonction2.
En plus de ne pas être certain que cela fonctionne, cela est bien cracra et
peu évolutif si on imagine rajouter un nombre indéfini de fonctions.

Idéalement, je préfererai un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xsltproc -Dmethode2 -Dmethode3 stylesheet file
et dans le xsl, qq chose pour dire "si le nom de la fonction est défini dans les
paramètres"

Une idée ?

Merci
Henri