Thanks Radu, I'll look into it. I appreciate the answer.
Wade --- Radu Preotiuc-Pietro <[EMAIL PROTECTED]> wrote: > No, what you are asking essentially is a paging > mechanism. > > In most very large documents scenarios, the > following should work: Use > SAX or preferrably StAX (JDK 1.6's java.xml.stream) > because with StAX > you can split the tree under a particular element in > a separate > substream from which you can easily create an > XMLBeans object model. > Process that subtree, then let go of the reference > and move to the next > subtree. > > Of course, with this approach you would need to > handle any writing of > the new document to disk yourself, but this is > probably the closest to > your ideal solution as you are going to get. Or, use > XQuery. > > Hope this helps, > Radu > > On Wed, 2007-08-22 at 20:54 -0700, Wade Chandler > wrote: > > The subject says it all basically. I have these > data > > transfer services which use XML schemas. I have > been > > using XMLBeans for a year or two with them. I have > > this one exchange using about 750MB or 1GB of RAM. > I > > would like to be able to still use the provided > > interfaces for XMLBeans such as: > > > > SomeTypeDocument doc = ... > > > > SomeNewElement e = doc.addSomeNewElement(); > > > > ... so = e.addSomeOtherNewElement(); > > > > The only way I could see this working would be if > we > > could tell a single element to hold a partial > object > > model so it existed as an object long enough to > add > > more data/objects to it until it was finished then > it > > would be flushed out to disk and when it was > cleaned > > up its partial model would go away. Basically only > so > > many objects and RAM would actually be used as > needed > > and data would be flushed to disk. If there is > > anything in XMLBeans to make something like this > > happen please let me know. If it just isn't > designed > > in then no worries. > > > > I would envision it working like: > > > > * Create a new document object which will be > flushed > > instead of completely held in memory. Basically a > full > > DOM could not exist for such a thing. > > > > * Add some top level element. > > > > * Tell that element to retain itself as more data > will > > be added to it. > > > > * Other elements are added to it. They are set to > not > > stay in memory or they are depending on whether > they > > have other sub-elements. If not told to stick in > the > > partial model their info is written to a buffer > which > > is flushed when full. They are then just let go of > > when they are GCd. > > > > Basically any top level elements would flush their > > opening tag and attributes when any sub-elements > are > > added or when a method was called to make it > happen. > > Then they could flush their end element tags when > any > > siblings are added or told to do so. Hopefully it > > would let me validate a file against an internal > > schema (as they are held in the XMLBeans created > JAR > > files now) as well...without having to link to > some > > external resource. So, just wondering if anything > > exists in XMLBeans to make this happen or if > anyone > > knows of any other projects which do such a thing. > > > > Thanks in advance for any help or info, > > > > Wade > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > Notice: This email message, together with any > attachments, may contain information of BEA > Systems, Inc., its subsidiaries and affiliated > entities, that may be confidential, proprietary, > copyrighted and/or legally privileged, and is > intended solely for the use of the individual or > entity named in this message. If you are not the > intended recipient, and have received this message > in error, please immediately return this by email > and then delete it. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

