W3C home > Mailing lists > Public > www-dom@w3.org > April to June 2001

RE: DOM 3 Core: Overlap with JAXP, Document order of attributes, getChildElementsByTagName, Exceptions

From: Fred L. Drake, Jr. <fdrake@acm.org>
Date: Tue, 15 May 2001 22:25:41 -0400 (EDT)
Message-ID: <15105.58661.293547.854554@cj42289-a.reston1.va.home.com>
To: "Arnold, Curt" <Curt.Arnold@hyprotech.com>
Cc: "'www-dom@w3.org'" <www-dom@w3.org>

Arnold, Curt writes:
 > If the DOM was local and in-memory, I would agree, but if the DOM is 
 > out-of-process or a API for a datastore, then the difference could
 > be pretty substantial.  

  This also depends on the memory management model; for older versions
of Python (which used only reference counting for garbage collection
and note the more elaborate cycle detection that we use now), a proxy
architecture can be used to avoid circular references.  This causes a
lot of object instantiations while iterating over a NodeList --
specific implementations may be able to do this fairly cheaply, but
nowhere near as cheap as avoiding the proxy creations.
  Whether or not .getChildrenByTagName() in particular is a good idea,
the WG needs to keep in mind that a DOM may be remote (out of process
or on another machine) or may not use what a Java programmer would
consider an obvious implementation.  For runtime systems with
significantl different behaviors in low-level details like memory
management, this can have a substantial effect.

 > a particular locale (US English).  It might be something that is 
 > specific to the ECMAScript binding, since it doesn't affect Java
 > implementations.

  I'm not even sure I understood this concern!  For Python, each
specific exception code is mapped to specific subclasses of the
DOMException, and all such exceptions have the appropriate .code
attribute.


  -Fred




-- 
Fred L. Drake, Jr.  <fdrake at acm.org>
PythonLabs at Digital Creations
Received on Tuesday, 15 May 2001 22:56:20 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 22 June 2012 06:13:48 GMT