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: xalan-dev-unsubscr...@xml.apache.org
For additional commands, e-mail: xalan-dev-h...@xml.apache.org

Reply via email to