RE: Questions and comments on Wd-DOM-Level-3-CMLS-20010209

> -----Original Message-----
> From: Stanley Guan [mailto:Stanley.Guan@oracle.com]
> Sent: Thursday, February 22, 2001 10:38 AM
> To: www-dom@w3.org
> Subject: Questions and comments on Wd-DOM-Level-3-CMLS-20010209
> 
> 
> 
> 1. (p.14) Why methods cloneCM() and cloneExternalCM() were included in
>     interface CMNode?  Should cloneCM() belong to interface
>     CMModel and cloneExternalCM() belong to interface
>     CMExternalModel?  My argument here is a node can be of other
>     types than CM_MODEL or CM_EXTERNALMODEL.  What happens
>     if a node was not CM_MODEL and CM_EXTERNALMODEL types
>     and cloneCM() or cloneExternalCM() were invoked?
Since CMModel and CMExternalModel derives from CMNode, the WG decided to
provide a single "clone" method in the CMNode and other objects derived from
CMNode will inherit the cloning feature. But you are right, the names should
be just "clone" rather than cloneCM and cloneExternalCM. This is a mistake
and will be fixed in the next draft.

> 2. (p.17) The element name along with the content specification in the
> context
>     of a CMNode[p.14].  However, I didn't see element's name 
> get defined
> any
>     where.
Thanks for finding the problem. We shall fix this in the next release.

> 3. (p. 12) getCMNodes() returns CMNameNodeMap, not CMNodeList?
>     In the same interface, it has an insertBefore() method.  
> So, it says
> that nodes
>     in the content model is inserted in a certain order. Why not
> returning an
>     CMNodeList by getCMNodes()?
> 
The reason we have CMNameNodeMap so that you can find an the elements
easily, like finding an ElementDeclaration, AttributeDeclaration, etc.,.
With CMNodeList you have to loop through the list to get to a declaration.
Although the order is maintained by an underlying implementation. The WG
will evaluate whether we also need to expose the ordered set or not. 

> 
> -Stanley Guan
> 
> 

Received on Thursday, 15 March 2001 14:15:02 UTC