Does schema fascism help or hinder interoperability?
Lists Home |
Date Index |
In a message dated 15/05/02 02:04:32 GMT Daylight Time, email@example.com writes:
The big advantage of type-aware programming, the b&d languages, is that
they *enforce* types. Pass a long to a Java method that takes int
without casting, and it won't even compile. You have to cast, which
means that you have to think about why the parameter is typed int, but
the value is long, and handle, in code, the cases when the value is of
greater magnitude than the parameter.
With XML Schema, you get to this a *lot*. Instead of types helping you
not to make errors, they help you make more. Does your language
differentiate between positiveInteger and nonNegativeInteger? No? What
a pity! You have to. Does your language understand gHorribleKludge
natively? Get on it, then. And on, and on.
It seems to me that Amy has raised an immensely important question. What will be the effect of widespread use/imposition of XSD/PSVI on interoperability?
What are the effects of different languages having very different type systems on the impact of XSD/PSVI on data interchange and interoperability?
Will it complicate and lengthen programming tasks? Or improve efficiency?
How, for example, will the use of Java with XSLT 1.0 compare with the likely future use of Java with XSLT 2.0 when both type systems are floating (forgive the pun) around? Will it be more efficient or significantly harder?
Is this a temporary perceived difficulty or a fundamental one? Will libraries to cast from one type system to XSD/PSVI and (potentially) back out to another type system at the other end solve the problem? For some languages only? At what cost in efficiency? Or are there fundamental issues which will mean that only certain languages may be used with XSD/PSVI?
Or does it mean that, for certain uses, XSD/PSVI will de facto be imposed?
Or is it possible that we may see an entirely new programming language, POX (PSVI over XSD) perhaps, as the only programming language which can fully handle the type system?