[Bug 3251] need for precisionDecimal

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