I would imagine that SAX would perform much better: * Doesn't need to build a DOM tree in memory, so less memory usage
* Doesn't need to wait till the DOM tree is built; can start processing from the first root element DR At 03:43 PM 11/14/01 -0800, you wrote: >Yes I think so too, but it also works for me if just return a >org.w3c.dom.Node to C2, and since my controller works with XML internally >this is a smooth solution I think :) However I dont know if you solution has >better performance, so I might just convert to your solution anyway. Does >anybody know which solution performs better? > >/Soren > >-----Oprindelig meddelelse----- >Fra: Karl Oie [mailto:[EMAIL PROTECTED]] >Sendt: 14. november 2001 06:07 >Til: [EMAIL PROTECTED] >Emne: RE: Generators.. was: Re: SV: What is Cocoon good for??? > > >thank you, very enlighting! :-D i think this is the answer to Soren Neigards >problems with SAX yesterday! > >mvh karl oie > > > >-----Original Message----- >From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] >Sent: 14. november 2001 15:00 >To: [EMAIL PROTECTED] >Subject: RE: Generators.. was: Re: SV: What is Cocoon good for??? > > >Here's the xsp page: > ><?xml version="1.0" encoding="ISO-8859-1"?> > ><xsp:page > language="java" > xmlns:xsp="http://apache.org/xsp" > > > <xsp:structure> > <xsp:include>net.securinet.jbxsp.*</xsp:include> > <xsp:include>org.apache.cocoon.environment.http.*</xsp:include> > </xsp:structure> > <xsp:logic> > <![CDATA[ > Jbxsp jbxsp; > int id = -1;]]> > </xsp:logic> > <page> > <xsp:logic> > <![CDATA[ > jbxsp = new Jbxsp >( (org.apache.cocoon.environment.http.HttpRequest )(request) , >"com.jpmorgan.mih.intranet.example.SimpleSite"); > jbxsp.toSAX(contentHandler); > ]]> > > </xsp:logic> > </page> ></xsp:page> > >************************** > >As you see, it includes my library (net.securinet.jbxsp.*) and the cocoon >http environment stuff. It then instantiates a Jbxsp (java bean xsp) class >with the name of the component class (SAX and DOM aware). The whole thing >is then asked to toSAX itself. This causes the Jbxsp class to ask the named >class to toSAX itself, which (as an awt container) asks its components to >do the same - thus building the tree. > >In other words, in order to get a named component (or the main class you >instantiate) to generate SAX (or DOM) events is to do you xml file reading >in the constructor, or in the toSAX method of that class. > >eg (forgive if that doesn't work without my libs - it just shows how I play >with these issues). I suspect this also shows why a custom generator might >be more useful in your case, as you'd have to analyse your xml doc into its >constituent parts in order to output it again as SAX events (although I'm >sure there's an easy way to achieve this). > > public void toSAX(ContentHandler handler) { > try{ > this.contentHandler = handler; > AttributesImpl atts = new AttributesImpl(); > start("jbxsp-id", atts); > characters("" + instanceId); > end("jbxsp-id"); > > start("jbxsp-screen-id", atts); > characters("" + screenId); > end("jbxsp-screen-id"); > > start("jbxsp-screen", atts); > characters("" + screenClass); > end("jbxsp-screen"); > > start("jbxsp-trail", atts); > characters("" + trail.getTrailId()); > end("jbxsp-trail"); > > } catch(Exception e){ > System.err.println("Error in SAX (toSAX) "); > e.printStackTrace(); > } > > instance.toSAX(handler); > //System.out.println("Finished converting to DOM"); > } > > > > > > > >Karl Oie <[EMAIL PROTECTED]> on 14/11/2001 12:57:36 > >Please respond to [EMAIL PROTECTED] > >To: [EMAIL PROTECTED] >cc: >Subject: RE: Generators.. was: Re: SV: What is Cocoon good for??? > > > >I'm happy to share some code with you if you need it. > > > >Regards, > > > >Anthony Aldridge > >Lead Application developer > > >please do, as i find working examples a great way to learn! :-) > >mvh karl oie > >--------------------------------------------------------------------- >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]> > > >--------------------------------------------------------------------- >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]> --------------------------------------------------------------------- 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]>