From: Clark C . E. <cc...@cl...> - 2001-12-18 15:11:26
|
FYI. Very good response to our type: URI scheme notion... Best, Clark ----- Forwarded message from "Fred L. Drake, Jr." <fd...@ac...> ----- Date: Tue, 18 Dec 2001 10:02:05 -0500 (EST) To: "Clark C . Evans" <cc...@cl...> Cc: xml-dev <xm...@li...> Subject: Re: [xml-dev] URI for class names and native data types From: "Fred L. Drake, Jr." <fd...@ac...> Clark C . Evans writes: > On Tue, Dec 18, 2001 at 01:15:43PM -0000, Leigh Dodds wrote: > | For Java purposes, why not use the javadoc URI? > | e.g. http://java.sun.com/j2se/1.3/docs/api/java/lang/Integer.html > works across multiple languages. After reading the > RFC a bit more, I was thinking something like this: > > type://language/the/package/path#classname Some comments: 1. The "//" is the hostname separator, and doesn't make sense for this kind of URN. So your template becomes type:language/the/package/path#classname 2. I can see how you make names for classes in modules, but there's more to it than that. Most languages (not all) have some types for which there is no corresponding named type in the package namespace. Numeric types often fall into this category; think of "int" in C/C++. How could these be spelled? Perhaps there needs to be another "chunk" to the URNs. Let's try this, and change the "chunk separator" to ":" instead of "/", to make it more easily distinguished: type:language:intrinsic/int A class in a package/module might then be: type:java:class/java/lang#String type:python:class/win32com/client#genpy type:perl:class/Net/Ftp 3. Have you considered types that are defined abstractly rather than for a specific programming language? Say, in an interface definition language such as CORBA IDL, or some other formal specification? type:abstract:ieee754/double type:abstract:corba/3.0/my/module#interface There are still (huge!) potential problems with these, I think. Versioning is as much a problem here as in other areas, and would probably need to be dealt with. Naming conflicts exist in the space being described, as well, so it's hard to name types that have the same name by coincidence: suppose two companies build their own MailSystem::Server interface using CORBA, and your job is to write a report explaining which one your employer should adopt. -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> PythonLabs at Zope Corporation ----- End forwarded message ----- -- Clark C. Evans Axista, Inc. http://www.axista.com 800.926.5525 XCOLLA Collaborative Project Management Software |