|
Hi,
Hope someone of you can help me with my XSLTC
(Translet) Problem,...
Tried to code a little example to test XSLTC and Translets for XSL-Transformations. The Problem:
------------------- Following Code Sample doesnt work on my own Computer Win XP, j2sdk1.4.2_03 doesn't work on a friends computer Win 2000, j2sdk1.4.2_03 So, I dont have any suggestion why the code works on no one computer... Code Sample (nearly the same, as at the Xalan-J
Page):
---------------------------------------------------------------------------- ----- import java.io.*; import javax.xml.transform.Source; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamResult; [...]
System.setProperty(
"javax.xml.transform.TransformerFactory", "org.apache.xalan.xsltc.trax.TransformerFactoryImpl");
xsltSource = "xslFile.xsl";
xmlSource = "xmlFile.xml" outpoutFile = "output.xml" TransformerFactory transFactory =
TransformerFactory.newInstance();
Templates translet = transFactory.newTemplates(xsltSource); Transformer trans1 = translet.newTransformer(); trans1.transform(xmlSource, new StreamResult(outputFile)); [...] How it works: -------------------- Till Codeline Templates translet = transFactory.newTemplates(xsltSource); it still works -> the .class Translet is created At Codeline
trans1.transform(xmlSource, new StreamResult(outputFile)); the Error occurs Error
PrintStackTrace
-------------------------------- java.lang.IllegalAccessError: class org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2$AncestorIterator cannot access its superclass org.apache.xml.dtm.ref.DTMDefaultBaseIterators$InternalAxisIteratorBase at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:250) at java.net.URLClassLoader.access$100(URLClassLoader.java:54) at java.net.URLClassLoader$1.run(URLClassLoader.java:193) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265) at java.lang.ClassLoader.loadClass(ClassLoader.java:255) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) at org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:291) at org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:174) at org.apache.xalan.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:516) at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:6 55) at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:2 98) I tried to override the old xalan-j 2.4.1 version in jdk1.4.2_03 with the Endorsed Standards Override Mechanism. I want to use the xalan-j 2.5.2 version. But the checkEnvironment- Method of the EnvironmentCheck-Class tells me that jdk still uses its own old version of xalan-j. So, I still get the same error. Can anybody tell me why this doesn't work? Are there any other possiblities to override the old version? Thanks for any helpfull hints
Hope my English isn't to bad to unterstand the Problem,.. ;) Regards silke |
