Hi Andy, 

Thank you for reviewing the API.

A general comment: the description for most schema components in this
API is isomorphic to the components that they represent, i.e. properties
and their names are as defined in XML Schema PSVI. 

Given some comments we received, for the API to be accepted, it is
crucial that we try to preserve "isomorphism" even if there are some
"derivations of standard method naming". 

Now back to you message..

Andy Clark wrote:
> I'm briefly looking over the API now. The first thing I'm
> noticing is the deviation of standard method naming. For
> example: XSObject#getNamespace instead of getURI 

This should be renamed to getTargetNamespace() given the reasons above.


> XSObjectList#getListLength/getItem instead of getLength/
> item. 

The PSVI API were built in parallel to Abstract Schema API: we tried to
make sure that same object can implement PSVI.XSObjectList and
AS.ASObjectList interfaces, hence those names.
If we decide never to implement Abstract Schemas we can make the change
you request.
 
> Case in point: the interface
> XSAttributeDeclaration has a method called "getTypeDefinition"
> which, in fact, returns an XSSimpleTypeDefinition. But by
> the name, I would have thought that it would return an
> XSTypeDefinition.

The PSVI property is defined as typeDefinition. 
To avoid a cast we decided to return XSSimpleTypeDefinition().
I prefer to keep the name and avoid the cast..

> Also, we're not consistent in the XSConstants interface
> either with choice of naming. Most of the constants have
> a leading prefix (e.g. DERIVATION_*) which others have
> a suffix (e.g. *_DECLARATION) and still others have none
> whatsoever (WILDCARD). 

We tried to use prefixes to allow logical grouping. As for declarations
we did not feel that grouping is important (following the dom.Node
pattern..).
But I don't feel strongly about that.

Thx, 
-- 
Elena Litani / IBM Toronto

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to