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]
