Bonjour,

Depuis quelques temps, je m'intéresse à XML au SVG ainsi qu'à XSL...
Cela m'a poussé à me lancer dans l'étude de cette galerie d'images en XML :

Quelques heures passées autour du sujet et déjà les premiers essais (à l'aide des fichiers d'exemples fournis dans l'énoncé du tutoriel).

Dans l'exemple donné par Dominique Guebey, le processeur XSLT utilisé est xalan.
Xalan (ainsi que son compère saxon) sont mentionnés notamment dans le fichier 'galerie.xsl' à travers les lignes suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect"
 
        xmlns:saxon="http://icl.com/saxon" 
 
        extension-element-prefixes="saxon"
 
	exclude-result-prefixes="dg77 rdf rdfs s0 s1 s2 xalan saxon"

Grâce à la feuille de style 'galerie.xsl', un exécutable 'galerie.sh' permet de transformer le fichier 'galerie.xml' en un fichier de sortie au format .html
Le chemin complet de xalan (via java) y est spécifié :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
java -classpath $CLASSPATH:/opt/SUNWappserver/lib/endorsed/xalan.jar.pack org.apache.xalan.xslt.Process -in $1 -xsl galerie.xsl -out $2 -param nomfic $2 -param nomxml $1 -param dateheure $dateheure -param processor xalan
Avec ma distribution Ubuntu Linux, la commande suivante me renvoit ce message d'erreur :

hubert@ubuntu:/usr/local/galerie$ ./galerie.sh
Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.xalan.xslt.Process
at gnu.java.lang.MainThread.run(libgcj.so.70)
Caused by: java.lang.ClassNotFoundException: org.apache.xalan.xslt.Process not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.70)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at java.lang.ClassLoader.loadClass(libgcj.so.70)
at gnu.java.lang.MainThread.run(libgcj.so.70)
Chez moi, Java n'est pas installé dans /opt :

hubert@ubuntu:/usr/local/galerie$ whereis java
java: /usr/bin/java /etc/java /usr/X11R6/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
Et mon xalan est installé ici :

hubert@ubuntu:/usr/local/galerie$ whereis xalan
xalan: /usr/bin/xalan /usr/X11R6/bin/xalan /usr/bin/X11/xalan /usr/share/man/man1/xalan.1.gz
Les questions que je me pose sont :

1) Quelle ligne mettre dans 'galerie.sh' à la place de la ligne java -classpath citée plus haut ? (sachant que chez moi java et xalan n'ont pas l'air si associés que ça).
2) Au lieu de xalan ou saxon, puis-je utiliser le processeur xsltproc, et dans ce cas, comment le spécifier dans 'galerie.xsl' ?

Hum!... J'espère ne pas être trop confus dans la formulation de ma demande...
Merci d'avance pour votre aide

Hubert