[xsl] Chaining Transformations With SAX

Subject: [xsl] Chaining Transformations With SAX
From: "Schwartz, Rechell R, ALABS" <rrschwartz@xxxxxxx>
Date: Mon, 23 Jun 2003 11:04:48 -0500
I have been doing a lot of reading about how to chain transformationswith SAX. I attempted to execute the following code, and have printed the exception that follows after the last line of code is executed. Does anyone have any idea what is wrong?

Rechell Schwartz

String xsl1 = "data.xsl";
String xsl2 = "format.xsl";
            long sttime = System.currentTimeMillis();
			// Read the arguments
			File stylesheet1 = new File(xsl1);
			File stylesheet2 = new File(xsl2);

			 // Set up the input stream
			InputSource input = new InputSource(new StringReader(hand.detailresult));

			 // Set up to read the input file 
			/* SAXParserFactory spf = SAXParserFactory.newInstance();
			spf.setNamespaceAware(true);
			SAXParser parser = spf.newSAXParser();
			XMLReader reader = parser.getXMLReader();

			// Create the filters	
			SAXTransformerFactory stf =(SAXTransformerFactory) TransformerFactory.newInstance();
			XMLFilter filter1 = stf.newXMLFilter(new StreamSource(stylesheet1));
			XMLFilter filter2 = stf.newXMLFilter(new StreamSource(stylesheet2));

			// Wire the output of the reader to filter1 (see Note #3)
			// and the output of filter1 to filter2
			filter1.setParent(reader);
			filter2.setParent(filter1);

			// Set up the output stream
			StreamResult result = new StreamResult(out);

			// Set up the transformer to process the SAX events generated
			// by the last filter in the chain
			Transformer transformer = stf.newTransformer();
			transformer.setParameter("flash", flashText);
			transformer.setParameter("noflash", noflashText);
			transformer.setParameter("sitename", site_name);
			SAXSource transformSource = new SAXSource(filter2, input);
			transformer.transform(transformSource, result);


--------------------------------------------------------------------------------------
000000> <javax.xml.transform.TransformerException: java.lang.NullPointerException
        at weblogic.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:462
)
        at jsp_servlet._maint.__data._jspService(__data.java:280)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
---------
java.lang.NullPointerException
        at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:980)
        at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:125)
        at weblogic.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:130)
        at weblogic.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:130)
        at weblogic.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:445
)
        at jsp_servlet._maint.__data._jspService(__data.java:280)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204) 
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) 
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
---------
java.lang.NullPointerException
        at weblogic.apache.xalan.serialize.SerializerToXML.accum(SerializerToXML.java:1394)
        at weblogic.apache.xalan.serialize.SerializerToXML.attributeDecl(SerializerToXML.java:1984)
        at weblogic.apache.xalan.transformer.TransformerIdentityImpl.attributeDecl(TransformerIdentityImpl.java
:1295)
        at weblogic.apache.xerces.parsers.SAXParser.attlistDecl(SAXParser.java:1058)
        at weblogic.apache.xerces.framework.XMLDTDScanner.addAttDef(XMLDTDScanner.java:2270)
        at weblogic.apache.xerces.framework.XMLDTDScanner.scanAttlistDecl(XMLDTDScanner.java:2220)
        at weblogic.apache.xerces.framework.XMLDTDScanner.scanDecls(XMLDTDScanner.java:1447)
        at weblogic.apache.xerces.framework.XMLDocumentScanner.scanDoctypeDecl(XMLDocumentScanner.java:2217)
        at weblogic.apache.xerces.framework.XMLDocumentScanner.access$0(XMLDocumentScanner.java:2170)
        at weblogic.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispatch(XMLDocumentScanner.jav
a:901)
        at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
        at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
        at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:125)
        at weblogic.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:130)
        at weblogic.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:130)
        at weblogic.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:445
)
        at jsp_servlet._maint.__data._jspService(__data.java:280)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread