I am trying to stream out sax events from dom4j (1.6) elements into an XSL content handler to transform into HTML and I'm getting a null pointer exception from a saxon (6.5.3) class. I was wondering if someone has worked through this before. Do I need to do something with namespaces, or is the document not initialized properly? startDocument is protected, otherwise I'd try calling that first. Any help would be appreciated.
java.lang.NullPointerException at com.icl.saxon.tinytree.TinyBuilder.startElement(TinyBuilder.java:137) at com.icl.saxon.ContentEmitter.startElement(ContentEmitter.java:121) at org.dom4j.io.SAXWriter.startElement(SAXWriter.java:810) at org.dom4j.io.SAXWriter.writeOpen(SAXWriter.java:233) … ------------------------------------------------------------------------------------------ Below is the fragment of my code: PrintWriter out = response.getWriter(); StreamResult result = new StreamResult(out); SAXWriter sax = new SAXWriter(); Source xsltSourceOne = new StreamSource(new File(xslFile)); TransformerHandler tHandler1 = factory.newTransformerHandler(xsltSourceOne); sax.setContentHandler(tHandler1); tHandler1.setResult(result); Element root = DocumentHelper.createElement("Root"); sax.writeOpen(root); //--- NullPointer thrown here ------------------------------------------------------------------------------------------ Here is the block of code from saxon. public void startElement (nameCode, Attributes attributes, int[] namespaces, int namespacesUsed) throws TransformerException { // System.err.println("TinyBuilder Start element (" + nameCode + ")"); // Construct element name as a Name object TinyDocumentImpl doc = (TinyDocumentImpl)currentDocument; // register the namespaces int firstNS = (namespacesUsed==0 ? -1 : doc.numberOfNamespaces); for (int n=0; n<namespacesUsed; n++) { doc.addNamespace( nodeNr, namespaces[n] ); } namespacesUsed = 0; // register the attributes int numAtts = attributes.getLength(); int firstAtt = (numAtts==0 ? -1 : doc.numberOfAttributes); doc.addNode(NodeInfo.ELEMENT, currentDepth, firstAtt, firstNS, nameCode); //--- Line 137 Null Pointer Dave N¬HS^µéšŠX¬²š'²ŠÞu¼Ž§%y*Zqä°yêlµ©±f§¶ÚzØ^~*ì¶Ê·«yׯzZ)z¸§²–œxIíz¹èÁú+¶Ž§%y*Zqä°yêlµ©²m§ÿÚvÊ,vw(›ö?‰