[
Lists Home |
Date Index |
Thread Index
]
At 10:00 PM 8/4/2002 -0600, Uche Ogbuji wrote:
>And so the Titanic lumbers on. Nought but the iceberg itself will alter its
>course.
Then perhaps we should be thinking about how to make icebergs. So...
> > I think that XML Schema part 2 should not have been a collection of
> > types and facets, but a language for the creation of datatype libraries,
> > and ideally a mechanism for registering those datatype libraries as
> > well. But I've ranted on the topic, at rather more length, elsewhere
> > (see xml.com, if you're interested).
>
>Absolutely! But don't think ranting will do the trick. James Clark outlined
>the problems with blessed types in his XML 2001 keynote. I've railed against
>them and wished for more generic facilities for constraint expression rather
>than a monolithic type-library-by-committee. I used irrational numbers as my
>example, picking a purposefully tricky case. Simon has brought up the more
>practical geospatial example. But the folks who could clean up this mess
>mostly just take in all the warnings and blithely respond "sorry we had to
>satisfy OO and relational data type needs from our chartered requirements".
I'm wondering if we may actually already have the parts to solve a lot of
this. (Irrational numbers, being infinite and non-repeating, are pretty
difficult, admittedly.)
It seems like regular expressions and RELAX NG provide most of the key
pieces we need. Regular expressions provide a mechanism for parsing a wide
range of lexical expressions and for breaking them down into smaller
pieces. RELAX NG provides a powerful vocabulary for describing constraints
which I think could serve as the basis for describing the constraints
inside such values. (Schematron is also a likely contender in this
space.) Rather than creating a declarative system with an abstract PSVI,
this work could be an explicit painting process, a (reversible?)
transformation between the original XML and the result XML.
There are still some likely obstacles, as attributes are tough to break
into smaller pieces, especially if there are multiple attributes of the
same type. On the other hand, breaking attributes out into child elements
might not be all bad. The kinds of constraints RELAX NG provides may not
presently be enough for this, but I think its basic foundation is the right
place to start.
A set of tools like this seems likely to represent a far greater set of
lexical-value mappings than the current WXS approach. I'm not sure that it
could represent everything people want without getting ridiculous, but I
think there may be an 80/20 in there somewhere. Typing as labeled
structures seems to fit pretty well with what markup does.
Just an idea, but something to think about this week at Extreme. (I also
think Eric van der Vlist has a lot of the parts in xvif[1], but he's on
vacation.)
[1] - http://downloads.xmlschemata.org/python/xvif/
Simon St.Laurent
"Every day in every way I'm getting better and better." - Emile Coue
|