[XML-SIG] Re: [DO-SIG] Python language bidning January 2000 Draft

Duncan Grisby dgrisby@uk.research.att.com
Mon, 26 Jun 2000 15:35:06 +0100

On Monday 26 June, Ken MacLeod wrote:

> There's a long thread on this from November, "foo.bar
> vs. foo.get_bar()" and "4DOM future":
>   <http://www.python.org/pipermail/xml-sig/1999-November/thread.html>
> IIRC, the conclusion, that you'll probably be very happy with, is that
> all the Python DOMs support direct attribute access for attribute
> members in the DOM IDL, _in_addition_to_ using procedure call access.

Is DOM intended to ever be used in a full distributed environment?  If
so, supporting direct attribute access is surely a bad idea. Any code
which uses direct attribute access will have to be changed to use the
_get and _set operations expected by a CORBA ORB.

Looking at the IDL used by DOM, it looks like the W3C don't intend it
to be used with CORBA. IDL like

             attribute DOMString        nodeValue;
                                        // raises(DOMException) on setting
                                        // raises(DOMException) on retrieval

shows a clear disregard for the semantics of CORBA IDL. That isn't a
Python issue, of course. Even ignoring things like that, the IDL isn't
CORBA 2.3 compliant. Just for the amusement value, here's a list of
the errors in it.

dom.idl:118: Identifier `supports' clashes with keyword `supports'

html.idl:191: Identifier `readOnly' clashes with keyword `readonly'
html.idl:211: Identifier `readOnly' clashes with keyword `readonly'
html.idl:383: Identifier `valueType' clashes with keyword `valuetype'
html.idl:395: Identifier `object' clashes with keyword `Object'

css.idl:143: Identifier `valueType' clashes with keyword `valuetype'

range.idl:38: Declaration of interface `Range' clashes with name of
              enclosing scope `range'
range.idl:21:  (`range' declared here)

Aren't standards great!



 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --