Hello, ad 1:
Vadim, as you suggested it finally works with this expression - thanks!: <util:include-expr><util:expr><xsp:expr>mm.marshal(mm.getSimpleItems())</xsp:expr></util:expr></util:include-expr> ad 2: The contentHandler used in 2 b) is a TraxTransformer instance. Is it possible that in this case the resulting intermediate XML contains the '<?xml version="1.0" encoding="UTF-8"?>' expression before the actual marshalled xml? Could this be the reason for the javax.xml.transform.TransformerException: java.lang.NullPointerException? So far I did not cope it to apply a stylesheet correctly to the marshalled xml. The stylesheet works correctly for option 1: Regards, Harald > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > > > > > > 1. Include Object as String: > > > > > > > > > > > > <xsp:page > > > > language="java" > > > > xmlns:xsp="http://apache.org/xsp" > > > > xmlns:cinclude="http://apache.org/cocoon/include/1.0" > > > > xmlns:util="http://apache.org/xsp/util/2.0" > > > > > > > > > <some-items anAttr="aVal"> > > > > <util:include-expr> > > > > > > > <xsp:expr>model.getAnItemAsString()</xsp:expr> > > > > </util:include-expr> > > > > </some-items> > > > > </some-items> > > > > </xsp:page> > > > > > > > > The page does not compile. The method .getAnItemAsString is not > even > > > > executed. > > > > > > This will compile if you put everything on one line, no text nodes > in > > > the util:include-expr element: > > > > > > > <util:include-expr><xsp:expr>model.getAnItemAsString()</xsp:expr></util: > > > include-expr> > > > > > > Also, I would not recommend you this anyway because of re-parsing > > > performance penalty. > > > > As follows I include my original sources and the corresponding output: > > (They slightly differ formally from the above mentioned example) > > > > > > Table.xsp: > > > > <?xml version="1.0" encoding="ISO-8859-1"?> > > <xsp:page > > language="java" > > xmlns:xsp="http://apache.org/xsp" > > xmlns:cinclude="http://apache.org/cocoon/include/1.0" > > xmlns:util="http://apache.org/xsp/util/2.0" > > > > > > > <xsp:structure> > > <xsp:include>web.ModelManager</xsp:include> > > </xsp:structure> > > > > > > <simple-items edit="true" curSel="2"> > > <xsp:logic> > > ModelManager mm = new > > ModelManager(); > > <util:include- > > > expr><util:expr>mm.marshal(mm.getSimpleItems())</util:expr></util:includ > e- > > expr> > > You need <xsp:expr>mm.marshal(mm.getSimpleItems())</xsp:expr> here to > treat Java as Java but not as text. (See above!!!) > > (not sure about util:expr, try with it and without it, but xsp:expr is > must) > > Vadim > > > </xsp:logic> > > </simple-items> > > </xsp:page> > > > > resulting web-page: > > > > > > org.apache.cocoon.ProcessingException: Language Exception: > > org.apache.cocoon.components.language.LanguageException: Error > compiling > > Table_xsp: Line 136, > > column 111: ')' expected. Line 0, column 0: 1 error > > > > > > created Table_xsp.java: > > > > try { > > newParser = (org.apache.cocoon.components.parser.Parser) > > this.manager.lookup( > > > org.apache.cocoon.components.parser.Parser.ROLE); > > InputSource __is = new InputSource( > > new > > > StringReader(String.valueOf(this.characters("mm.marshal(mm.getSimpleItem > s())") > > ;))); > > > > > > XSPUtil.include(__is, this.contentHandler, newParser); > > } catch (Exception e) { > > getLogger().error("Could not include page", e); > > } > > finally { if (newParser != null) > > this.manager.release((Component) newParser); > > } } > > As you can see there is a ";" in between a java statement: > '...s())");)));' > > > > Is there any other error in my page? > > > > > > > > 2. > > > > Use Castor's marshalling capabilities: > > > > > > > > <some-items anAttr="aVal"> > > > > <xsp:logic> > > > > model.marshal(this.contentHandler); > > > > </xsp:logic> > > > > </some-items> > > > > > > This sounds perfect. > > > > > > > > > > Within the method I pass the contentHandler (wrapped into > > > > DocumentHandlerAdapter) to castor's marshaller before I perfom > > > mashal(obj). > > > > > > > > As A result the cinclude transformer (which I need) complains > about a > > > > Nullpointer exception. > > > > > > Make sure that model.marshal() does not call startDocument() and > > > endDocument() on the contentHandler. If it does, you should strip > these > > > calls by wrapping contentHandler into the IncludeXMLConsumer. > > > > > > This should work. Or we have a bug. > > > > I include fragments of the original sources: > > > > Table.xsp: > > ... > > <simple-items edit="true" curSel="2"> > > <xsp:logic> > > ModelManager mm = new ModelManager(); > > mm.chmarshal(mm.getSimpleItems(), this.contentHandler); > > </xsp:logic> > > </simple-items> > > .. > > > > ModelManager.java: > > ... > > public void chmarshal (Collection col, org.xml.sax.ContentHandler > > _docHandler){ > > Marshaller marshaller = marshaller = new Marshaller(new > > org.apache.cocoon.xml.DocumentHandlerAdapter(_docHandler)); > > Iterator it = col.iterator(); > > while (it.hasNext()){ > > Object obj = it.next(); > > marshaller.marshal(obj); > > } > > } > > ... > > > > I include two distinct possibilities to call the page once only > processing > > the xsp the other one including transformation with a stylesheet. > > > > > > a) only processing the xsp > > > > Sitemap entry: > > > > <map:match pattern="ti" > > > <map:generate type="serverpages" > src="Table.xsp"/> > > <map:transform type="cinclude"/> > > <map:serialize type="xml"/> > > </map:match> > > > > Result in web browser: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <simple-items edit="true" curSel="2" xmlns:xsp="http://apache.org/xsp" > > xmlns:util="http://apache.org/xsp/util/2.0" > > xmlns:cinclude="http://apache.org/cocoon/include/1.0"> > > <?xml version="1.0" encoding="UTF-8"?> > > <simple-item weight="111" > > id="1"><name>one</name><weight-msg/><id-msg/><name-msg/></simple-item> > > <?xml version="1.0" encoding="UTF-8"?> > > <simple-item weight="22" > > id="2"><name>two</name><weight-msg/><id-msg/><name-msg/></simple-item> > > <?xml version="1.0" encoding="UTF-8"?> > > <simple-item weight="33" > > > id="3"><name>three</name><weight-msg/><id-msg/><name-msg/></simple-item> > > > > Note that "<?xml version="1.0" encoding="UTF-8"?>" is inserted before > each > > marshalled object. If I include the output statically to an xml page > my > > Stylesheet complains about that and refuses transformation. > > > > b)including transformation with a stylesheet > > > > Site map entry: > > > > <map:match pattern="tbl.htm"> > > <map:generate type="serverpages" src="Table.xsp"/> > > <map:transform type="cinclude"/> > > <map:transform src="Table.xsl"/> > > <map:serialize type="html"/> > > </map:match> > > > > output from cocoon's logfile: > > > > ERROR (2002-04-10) 22:04.38:129 [sitemap.generator.velocity] > (/pcsb/) > > HttpProcessor[8080][0]/VelocityGenerator: ResourceManager : unable to > find > > resource 'VM_global_library.vm' in any resource loader. > > ERROR (2002-04-10) 22:04.38:189 [sitemap.generator.velocity] > (/pcsb/) > > HttpProcessor[8080][0]/VelocityGenerator: ResourceManager : unable to > find > > resource 'VM_global_library.vm' in any resource loader. > > ERROR (2002-04-10) 22:04.38:239 [sitemap.generator.xmldb] (/pcsb/) > > HttpProcessor[8080][0]/XMLDBGenerator: There was a problem setting up > the > > connection > > ERROR (2002-04-10) 22:04.38:239 [sitemap.generator.xmldb] (/pcsb/) > > HttpProcessor[8080][0]/XMLDBGenerator: Make sure that your driver is > available > > ERROR (2002-04-10) 22:04.38:249 [sitemap.generator.xmldb] (/pcsb/) > > HttpProcessor[8080][0]/XMLDBGenerator: There was a problem setting up > the > > connection > > ERROR (2002-04-10) 22:04.38:249 [sitemap.generator.xmldb] (/pcsb/) > > HttpProcessor[8080][0]/XMLDBGenerator: Make sure that your driver is > available > > ERROR (2002-04-10) 22:04.38:270 > [sitemap.generator.xmldbcollection] > > (/pcsb/) HttpProcessor[8080][0]/XMLDBCollectionGenerator: There was a > problem > > setting up the connection > > ERROR (2002-04-10) 22:04.38:270 > [sitemap.generator.xmldbcollection] > > (/pcsb/) HttpProcessor[8080][0]/XMLDBCollectionGenerator: Make sure > that your > > driver is available > > ERROR (2002-04-10) 22:04.38:280 > [sitemap.generator.xmldbcollection] > > (/pcsb/) HttpProcessor[8080][0]/XMLDBCollectionGenerator: There was a > problem > > setting up the connection > > ERROR (2002-04-10) 22:04.38:280 > [sitemap.generator.xmldbcollection] > > (/pcsb/) HttpProcessor[8080][0]/XMLDBCollectionGenerator: Make sure > that your > > driver is available > > FATAL_E (2002-04-10) 22:05.26:960 [core.xslt-processor] > > (/pcsb/table/tbl.htm) HttpProcessor[8080][0]/TraxErrorHandler: Error > in > > TraxTransformer: > > javax.xml.transform.TransformerException: > java.lang.NullPointerException > > javax.xml.transform.TransformerException: > java.lang.NullPointerException > > at > > > org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerIm > pl.jav > > a:1230) > > at > > > org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:31 > 39) > > at java.lang.Thread.run(Thread.java:484) > > > > Note: without cinclude there is no exception. Unfortunately I need > cinclude > > for a more complex dynamic stylesheet. > > > > In both cases (with or without cinclude) the stylestheed doesn't > process any > > of the marshalled items. > > > > Any ideas? > > > > Harald > > > > -- > > GMX - Die Kommunikationsplattform im Internet. > > http://www.gmx.net > > > > > > --------------------------------------------------------------------- > > Please check that your question has not already been answered in the > > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > > For additional commands, e-mail: <[EMAIL PROTECTED]> > > > > --------------------------------------------------------------------- > Please check that your question has not already been answered in the > FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> > > To unsubscribe, e-mail: <[EMAIL PROTECTED]> > For additional commands, e-mail: <[EMAIL PROTECTED]> > -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>