Hi Jake, The behaviour of Document.cloneNode(true) [1] is implementation dependent. In Xerces it will create a new Document and then import the children from the original document. I would be really surprised if reparsing the document performed better than an in-memory copy (unless you had a UserDataHandler [2] registered which does some heavy operation in response to the cloning/importing).
[1] http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-3A0ED0A4 [2] http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#UserDataHandler Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: [EMAIL PROTECTED] E-mail: [EMAIL PROTECTED] Jacob Kjome <[EMAIL PROTECTED]> wrote on 04/16/2006 02:17:10 AM: > > I'm wondering what's the best approach to cloning an entire > document? Would it be better to keep a master copy in memory and > then create a new document and import the other document in there, or > would it be better to simply reparse the document every time (where > the document is used over and over again as a template, a copy is > created and manipulated on each HTTP request, then serialized to the > browser)? If I keep the document in memory and know I am dealing > with the Xerces2 implementation, can I just call cloneNode(true) and > get an identical copy of the whole document, including doctype, > entities, entity references, etc...? Again, would this be more > efficient than reparsing the document each time with, say, the > Xerces2 DOMParser? Is there a clear-cut answer to this, or does it > depend on document size or other aspect of the document or environment? > > thanks, > > Jake > > > --------------------------------------------------------------------- > 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]