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

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Mon, 26 Jun 2000 23:23:52 +0200


> Is DOM intended to ever be used in a full distributed environment?

I believe that's not explicitly excluded, and 4DOM, to my knowledge,
also supports that mode of operation. The intent in the DOM clearly is
that IDL was used as a convenient notation for an OO API, not as a
CORBA interface.

> 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. 

Well, the 'attribute raises' is part of the CCM submission, and thus
potentially part of CORBA 3. In the light of this, mapping attributes
to operations is a more logical choice - even though it would be
possible to raise arbitrary exceptions from attribute access in
Python.

> 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!

I wouldn't put the DOM IDL down too much. The rule about
immediately-nested scope was added in CORBA 2.3 only, as was the
supports keyword, and the rules about identifiers clashing with
keywords in case was clarified just recently - I read CORBA 2.1 as not
having such a rule, although others read it differently.

Anyway, this can easily be fixed using _ escapes (i.e. _supports,
_readOnly).

Regards,
Martin