Hi, I don't know if this is a bug or expected behavior?
Through various calls, Xalan ends up calling CoreDocumentImpl.setXmlVersion with null if the processed XML document doesn't contain an XML declaration. I'm inclined to say that it's a bug since the XML declaration is optional and the method should protect against NPEs. java version "1.7.0_21" OS: Mac OS X 10.8.4 This simple test code: https://gist.github.com/dustinschultz/5786101 With this XML: https://gist.github.com/dustinschultz/5786108 Results in java.lang.NullPointerException at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.setXmlVersion(CoreDocumentImpl.java:860) at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.setDocumentInfo(SAX2DOM.java:144) at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.startElement(SAX2DOM.java:154) at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:208) at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.characters(ToXMLSAXHandler.java:528) at com.sun.org.apache.xalan.internal.xsltc.trax.StAXStream2SAX.handleCharacters(StAXStream2SAX.java:262) at com.sun.org.apache.xalan.internal.xsltc.trax.StAXStream2SAX.bridge(StAXStream2SAX.java:169) at com.sun.org.apache.xalan.internal.xsltc.trax.StAXStream2SAX.parse(StAXStream2SAX.java:118) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:678) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:727) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:340) This same code completes without Exception on 1.6.0_45 (likely doesn't call setVersion but I haven't confirmed) Thanks, Dustin Schultz