From: Jean-Baptiste Q. <jb...@an...> - 2004-12-08 14:21:29
|
Hello, The XQueryGenerator issues startDocument() and endDocument() whereas the RemoteXMLResource already does it (on line 209 of RemoteXMLResource.java). A problem arises with a use-case like below (NullPointerException with Xalan): <map:generate type="xquery" src="foo.xq"/> <map:transform type="xslt" src="bar.xsl"/> <map:serialize/> If you want to see the multiple startDocument and endDocument, use a pipeline like this: <map:generate type="xquery" src="foo.xq"/> <map:transform type="log"/> <map:transform type="xslt" src="bar.xsl"/> <map:serialize/> Where "log" is defined with: <map:transformer name="log" src="org.apache.cocoon.transformation.LogTransformer"/> You will see the output in System.out, notice that two documents are logged instead of one, and the second is empty: --------------------------------8<-------------------------------------- [setup] ---------------------------- [Wed Dec 08 14:45:16 CET 2004] ---------------------------- [startDocument] [setDocumentLocator] systemid=null,publicid=null [startDocument] [startPrefixMapping] ... [startElement] uri=,local=document,raw=document [characters] <snip/> [characters] [endElement] uri=,local=document,raw=document [endPrefixMapping] ... [endDocument] [endDocument] trying to register database [setup] ---------------------------- [Wed Dec 08 14:45:24 CET 2004] ---------------------------- [startDocument] [setDocumentLocator] systemid=null,publicid=null [startDocument] [startPrefixMapping] ... [startElement] uri=,local=document,raw=document [endElement] uri=,local=document,raw=document [endPrefixMapping] ... [endDocument] [endDocument] --------------------------------8<-------------------------------------- Also, I don't really understand the "for" loop in XQueryGenerator: for (long i = 0; i < result.getSize(); i++) Is it actually possible to get multiple results? If it is, we might have problems again with multiple startDocument() and endDocument() Thanks in advance, -- Jean-Baptiste Quenot Anyware Technologies http://www.anyware-tech.com/ |