I have a problem with executing a simple transformation using a translet on AIX
5.2 with JAVA 1.6; it throws the following exception:
JAXP: find factoryId=javax.xml.transform.TransformerFactory
JAXP: found system property,
value=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
JAXP: created new instance of class
org.apache.xalan.xsltc.trax.TransformerFactoryImpl using ClassLoader:
sun.misc.launcher$appclassloa...@fca0fca
ERROR: ''
ERROR: 'java.lang.NullPointerException'
Exception in thread "main" javax.xml.transform.TransformerException:
javax.xml.transform.TransformerException: java.lang.NullPointerException
at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:642)
at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:303)
at test.xslt.XsltTest.run(XsltTest.java:27)
at test.xslt.XsltTest.main(XsltTest.java:20)
Caused by: javax.xml.transform.TransformerException:
java.lang.NullPointerException
at
org.apache.xalan.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:486)
at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:632)
... 3 more
Caused by: java.lang.NullPointerException
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.getNodeNameX(Unknown Source)
at org.apache.xml.dtm.ref.DTMDefaultBase.declareNamespaceInContext(Unknown
Source)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.addNode(Unknown Source)
at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.startElement(Unknown Source)
at org.apache.xalan.xsltc.dom.SAXImpl.startElement(SAXImpl.java:919)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at
org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:389)
at
org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:230)
at
org.apache.xalan.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:464)
... 4 more
The source code for the transformation is as follows:
package test.xslt;
import java.io.File;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.Templates;
public class XsltTest {
private TransformerFactory tf;
public static void main(String... args) throws Exception {
XsltTest app = new XsltTest();
System.exit(app.run(args));
}
private int run(String[] args) throws Exception {
tf = TransformerFactory.newInstance();
tf.setAttribute("use-classpath", Boolean.TRUE);
Transformer xslp = tf.newTransformer(new StreamSource(args[1]));
xslp.transform(new StreamSource(new File(args[0])), new
StreamResult(System.out));
return 0;
}
}
The script used to execute the transformation is as follows:
#!/bin/sh
CLASSPATH='.:/spirent/metro/5.000/IPTE/ipte/WEB-INF/lib/ipteXslTranslets.jar:afs/hekimian.com/cm-cots/ALL-OS/xalan-j/2.7.1-CM1/xalan.jar:/afs/hekimian.com/cm-cots/ALL-OS/xalan-j/2.7.1-CM1/serializer.jar:/afs/hekimian.com/cm-cots/ALL-OS/xalan-j/2.7.1-CM1/xercesImpl.jar:/afs/hekimian.com/cm-cots/ALL-OS/xalan-j/2.7.1-CM1/xml-apis.jar:'
export CLASSPATH
exec /spirent/cots/java/1.6/jre/bin/java \
-Djaxp.debug=1 \
-Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl\
-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
\
-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
\
test.xslt.XsltTest "$@"
Note that if I run the code against Java 1.5, it runs fine. However, running
with Java 1.6 (on AIX) throws the exception mentioned above.
Please advise and thank you,
Robert
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]