OVH Cloud OVH Cloud

Erreur "Chargement impossible de la classe translet" ; XSLTC

1 réponse
Avatar
Richard
Bonjour,

Le programme ci-dessous fonctionnait avec la version Java 1.4 mais ne
fonctionne plus avec la version 1.5.0_05. Est-ce que vous avez une
explication ? C'est lié à XSLTC mais je ne sais pas si c'est mon
environnement qui pose un problème (je suis sous Windows XP).

Merci d'avance pour votre aide.

Richard

import java.io.File;
import java.net.URL;

import javax.xml.transform.Templates;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class Main {

public static void main(String[] args) throws Exception {
TransformerFactory tfactory = TransformerFactory.newInstance();
URL urlXSL = Main.class.getResource("zoo.xsl");
URL urlXML = Main.class.getResource("zoo.xml");
File fichierXSL = new File(urlXSL.toURI());
File fichierXML = new File(urlXML.toURI());
// Crée un templates réutilisable pour représenter une feuille XSLT
Templates templates =
tfactory.newTemplates(new StreamSource(fichierXSL));
Transformer transformer = templates.newTransformer();
// La suite n'a pas d'importance.
// Ca se plante sur la ligne précédente
}
}

Message d'erreur :
Exception in thread "main"
javax.xml.transform.TransformerConfigurationException:
Chargement impossible de la classe translet 'zoo'.
at
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.defineTransletClasses(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance(Unknown
Source)
at
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer(Unknown
Source)
at Main.main(Main.java:32)

1 réponse

Avatar
TestMan
Bonjour,

T'as essayé sans passé par des fichiers ?

public class Main {

public static void main(String[] args) throws Exception {
TransformerFactory tfactory = TransformerFactory.newInstance();
URL urlXsl = Main.class.getResource("zoo.xsl");
URL urlXml = Main.class.getResource("zoo.xml");
// Crée un templates réutilisable pour représenter une feuille XSLT
Templates templates tfactory.newTemplates(new StreamSource(urlXsl.openStream()));
Transformer transformer = templates.newTransformer();
// La suite n'a pas d'importance.
// Ca se plante sur la ligne précédente
}
}

Si tes fichiers ne sont pas sur le système de fichier mais dans un JAR
ou sur le net (HTTP ou tout autre protocole) passer par un File fait
tout échouer ... pas sur que ce soit le problème masi ça peut pas faire
de mal.

A+

TM

Richard wrote:
Bonjour,

Le programme ci-dessous fonctionnait avec la version Java 1.4 mais ne
fonctionne plus avec la version 1.5.0_05. Est-ce que vous avez une
explication ? C'est lié à XSLTC mais je ne sais pas si c'est mon
environnement qui pose un problème (je suis sous Windows XP).

Merci d'avance pour votre aide.

Richard
<...>