[
Lists Home |
Date Index |
Thread Index
]
I'll bite ....
On Sat, 1 Jan 2005 22:41:44 -0500 (EST)
hhalpin@ibiblio.org wrote:
> the issues with an open-mind. And speaking of type systems, I'd be
> interested to hear more people's problems and complaints about the WXS
> type system (and the interesting developments in ISO DSDL), since WXS
> types are obviously being factored more and more into XML specs and
> some applications. Ah, but that may be a can of worms that may not be
> worth it, eh?
Probably not. But it's never stopped me before.
WXS hasn't got a type *system*. It contains a collection of "simple"
types, which includes, for example, nine different unrelated types
associated with dates, times, and durations, three numeric types (four
if you include boolean) which are unrelated, two encoded byte-stream
types which are not related to one another, the obscure NOTATION type,
string, two types (qname and anyuri) which arguably ought to be subtypes
of string (unless they're separately typed because they act as pointers
within XML, in which case one could wish for some relation between them,
somehow), no expanded name type, no types associated with currency, no
consistency, rhyme, reason, or evident method.
Despite this inconsistency and incompleteness, the collection is closed
to extension on the ur-type (where one might reasonably wish to create a
type for, say, geographic position, or a rich enough "number" type that
it could include rational numbers (fractions) or imaginary and
irrational numbers). Realms that need *those* as basic types are
effectively excluded, unless they can plead, cajole, beg or threaten the
committee into including *their* pet types.
As a counter-example, and much as I hate Lisp in general, the Lisp type
system encompasses, or can encompass, all of the WXS types,
systematically. And more. And is extensible. Partly *because* it's a
system.
Most programming languages have much less system to their type
collections, which are typically based on register sizes (and sometimes
on published standards, such as the ieee754 types), or multiples or
fractions thereof. Databases (and SQL) have a different set of
primitives. WXS appears to be a collection of the Primitives Top Forty
(-Four), with an attempt to create system in two branches (string and
decimal) that don't work particularly compatibly, in terms of derivation
patterns. Makes as much sense, back-to-back, as most Top-Forty sorts of
things.
So, there's my payment, can I go over the bridge now, please?
Amy!
--
Amelia A. Lewis amyzing {at} talsever.com
A hundred thousand lemmings can't be wrong.
|