[
Lists Home |
Date Index |
Thread Index
]
Which I think you've said quite eloquently at least two years ago
(including an interesting article on XML.com), and the fact that WXS types
aren't really a type system ala type theory is quite well known. So, the
question of the hour is then two-fold:
1) Are type systems needed really? Seems there quite a few people which
think the answer is no, and I would say *sometimes*.
2) If it is needed, what would a proper type system look like in XML?
Note, *not* WXS datatypes, which as Amelia correctly observers, are not
a type system. There seems to be little work on this, though Tennison's
work on ISO DSDL seems quite interesting...i.e. not-so-subtle signal to
stage left for an update on ISO DSDL types.
And to end with a spicy quote, "Any sufficiently complicated C or Fortran
program contains an ad hoc informally-specified bug-ridden slow
implementation of half of Common Lisp." -- Philip Greenspun
But then I dislike endless hard-to-read parentheses as much as the next
person, which is why I like XML so much :)
--harry
> 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.
>
|