Lists Home |
Date Index |
7/3/2002 4:40:13 PM, Jonathan Robie <email@example.com>
he appropriate definition.
>Named typing says that the validator indicates, with a type annotation,
>that this invoice corresponds to a particular definition, and operations
>that need to determine the type of an element need only look to see if the
>appropriate type annotation is present. The opposite of named typing is
>structural typing, which tests the entire structure. For XML, this is done
>using structural subsumption.
I don't claim a deep understanding of structural typing vs named typing. I guess I
have three reasons for being nervous about the direction XQuery is taking.
First, I like specs that are either a) well grounded in actual practice or b)
grounded in well-understood theory. The actual practice with WXSDL's type systems
for non-trivial schemas seems spotty at best; this list is full of rather disturbing
discussions that do not give me a warm feeling that people who understand this
better than I do have the situation under control. XDuce may not be "well-
understood theory", but a lot more work has gone into it than the current XQuery
type system, no? What can anyone say to assure me that this is not "computer
science by committee?"
Second, Jonathan's example seems to presume a very tight coupling between instances
and a schema, which is highly problematic in the real world: schemas evolve,
differences between validators could mean that "invalid" instances (as far as the
XQuery processor are concerned) get into the database, business requirements cause
manual over-rides to accept structurally invalid but lucrative invoices, etc. etc.
etc. I can think of lots of scenarios where I would want my get-total() function to
process the "merely well-formed elements whose name happens to be 'invoice'".
Finally, while I can understand the Query WG's desire to build on the rest of the
W3C infrastructure, in practice this named typing approach disenfranchises the
majority of the world that doesn't (yet???) use W3C Schema. OK, maybe
"disenfranchises" is too strong (since queries can always fall back to string types,
or DTD types can be mapped ...) Still, the assumption that the W3C's schema language
would quickly replace DTDs and other XML-syntax schema languages sounded a lot more
plausible 3 years ago when the XQuery activity got underway than it does today.
Lots of large-scale software projects have to re-visit their requirements as the
external realities change before the project is finished ...