[XML-SIG] Ugh! Why are DOM access methods spelled with a leading
Mon, 26 Jun 2000 10:45:26 -0600
Jim Fulton wrote:
> > Actually, the DOM can be mapped into a language in a manner that does
> > not follow directly from the IDL and CORBA specs. That's why there is a
> > formally defined java binding rather than just a reference to the IDL
> > specs. Historically, though, 4DOM was really a CORBA tool so it really
> > needed to follow the specs.
> Whatever we do, there needs to be a document somewhere that
> says what the Python DOM mapping is, even if it is not
> much more than a reference to the DOM IDL and the Python
In 4DOM, we are actually moving away from __getattr__ (for speed).
We've found that we can keep all of the data cached in attributes for
when it is needed. The draw back is that 4DOM will break horribly if
people access out side of the DOM interface (or 4DOM supported pythonic
interface) and there is a bit of runtime performance lose, however that
is minor compared to the perfomace hit from __getattr__. The only
reason we still support the '_'* is for legacy.
> > I would vote for losing the leading underscore.
> > > This says to me that the DOM API specifies use of methods
> > > for interface attributes.
> > I think it is safe to say that a binding should not require a particular
> > underlying data structure but Python allows the use of a.b syntax even
> > when the surface structure is wildly different than the underlying data
> > structure. I'm preaching to the choir as you are the world leader in
> > abuse of the dot notation. :)
> Yup, however __getattr__ is a pain to utilize unless you have alot of
> infrustructure. Zope has support for computed attributes, which makes
> this pretty sane, especially for read-only attributes. I'm working on
> a new version of StructuredText, StructuredText NG,
> which, among other things, creates objects with a DOM interface.
> I want this to be independent of Zope, so I can't use any of the standard
> Zope getattr tricks.
> In general, I think it would be cool of lots of
> objects supported the DOM interface and I hate to make people
> jump over the getattr barrier to do that.
> Jim Fulton mailto:email@example.com Python Powered!
> Technical Director (888) 344-4332 http://www.python.org
> Digital Creations http://www.digicool.com http://www.zope.org
> Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email
> address may not be added to any commercial mail list with out my
> permission. Violation of my privacy with advertising or SPAM will
> result in a suit for a MINIMUM of $500 damages/incident, $1500 for
> XML-SIG maillist - XML-SIG@python.org
Mike Olson Principal Consultant
firstname.lastname@example.org (303)583-9900 x 102
Fourthought, Inc. http://Fourthought.com
Software-engineering, knowledge-management, XML, CORBA, Linux, Python