- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 28 Sep 2007 18:12:55 +0000
- To: www-xml-schema-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3251 ------- Comment #3 from noah_mendelsohn@us.ibm.com 2007-09-28 18:12 ------- I would like to reiterate a position that IBM has taken from the start of our work on XML Schema: the loss of interoperability that would result from allowing individual implementors or vendors to define their own primitives is too great for us to support such a proposal. More specifically, we have not seen any such proposals that we can support. Take an example of a type that someone might wish to define: primeInteger, which would contain all and only the prime numbers. While you can of course declare a type of that name, you cannot in Schema 1.0 or Schema 1.1 use our facet system to enforce primeness. Let's say that in the interest oof making schema more useful to the mathematical community, we did allow new primitives, and some group of mathematicians wrote a specification for this type. How would the implementations be shared. If I just said: OK, for each such type, you must distribute a .jar file with Java classes supporting certain interfaces, does that do it? I suspect my friends at Microsoft will not be happy. In fact, those of us who build C-language processors won't be happy either. Indeed, it's quite possible that those of us who build optimized Java implementations won't be happy, since your classes may not work in our framework. So, the new prime type will work in some processors and not others. Now my phone starts ringing: processor X accepts my schema but IBM's doesn't. Which is broken? Answer: neither. Or maybe IBM's is broken because we didn't port that code you wrote. Our existing type system does not do everything that all users of schema might want, but it has the great virtue that every type that's legal is likely to be supportable in a quite compatible way in every schema processor. That's very important. Nothing prevents anyone from writing a new specification for XML Math Schemas that says: "we start with the XML Schema 1.x specification, but add a primitive type primeInteger, the specification for which is..... Schemas written in the Math Schema Language will be incompatible with W3C XML Schema if they use the new type." That's fine. We have a specification for the features that interoperate universally (W3C XSD) and those that work in a more limited community (Math Schema.) Letting users define their own primitives will raise the expectation that the types will interoperate. Unless someone can show me an implementation strategy that provides interoperable implementations, I remain strongly opposed to including user-defined primitives in our language.
Received on Friday, 28 September 2007 18:13:04 UTC