Probleme bei XSLT-Transformation mit Tomcat und eclipse

klaeuschen41

Mitglied
Hallo alle,

ich möchte aus einem Applet heraus serverseitig per XSLT HTML-Seiten aus XML-Text generieren.

Das Problem ist, dass bei der Instanziierung der TransformerFactory (siehe Code unten!) eine Exception geschmissen wird:

Error: javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found

Was ich schon rausgefunden habe:
Wenn ich die Transformation in einer Java-Applikation durchführe, werden die benötigten Klassen offenbar aus dem JDK 1.5 genommen, während innerhalb des Servlets Klassen aus der Tomcat-Runtime verwendet werden.

Ich weiß nicht, ob mit den Tomcat-Klassen etwas nicht stimmt oder ist das ein eclipse-Problem? [ich verwende WTP, Web Tools Project (ich glaube Version 0.7) mit eclipse 3.1]

Hat jemand zufällig eine Ahnung, was hier falsch läuft und kennt vielleicht einen Workaround für dieses Problem?

Vielen Dank und frohe Ostern,

Klaus


Hier noch mein Code:

Code:
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;

String xsl_path = "plain.xsl";
	  
String xml_text = "<test> hallo </test>";
String html_text = null;

try{

	TransformerFactory tFactory = TransformerFactory.newInstance();
	Transformer transformer = tFactory.newTransformer(new StreamSource(xsl_path));
	StringWriter writer = new StringWriter();
	transformer.transform(new StreamSource(new StringReader(xml_text)),new StreamResult(writer));
	html_text = writer.toString();

}
	catch(Exception e){
	System.err.println("Error: " + e.toString());
}
 
Leider kann ich Dir keine detailierte Hilfe bieten, da ich Deine verwendeten Packages nicht kenne.

Ich vermute, es existiert irgendwo ein Konfigurations-File, in dem Du die Implementierungsklasse (= TransformerFactoryConfigurationError) des Factory-Interfaces (bzw. abstrakte Factory-Klasse) (= TransformerFactoryImpl) bekanntgeben mußt.

Das ist allerdings nur meine Vermutung - wie gesagt, ich kenne das WPT und Apache-XSLT nicht.
 
Zurück