Lists Home |
Date Index |
From: "Bob Hutchison" <email@example.com>
> Is it because of some kind of notion of 'atomic'? Markup has to stop
> somewhere, doesn't it? But where?
Some kinds complex values are only ever dissected as whole:
for example URIs are complex but there is no point in marking
up the parts because the libraries that use them take care of
The purpose of validation is to catch errors as close to source as
possible, rather than leaving it to processes to fail, or for errors
to slip through and contaminate database. The worst kind of
contamination is probably when strings in different encodings
end up in the same database, in byte-based storage. These
can be pretty much impossible to repair.
So markup of documents is based in part on some theory by
the document-type designer on expected, typical and pragmatic
use-cases for the document.
So there is no fixed dividing line. Some people trust analytical
methods, some trust expertise, some trust guidelines, some
trust conservatism (fitting in with the user's expectations.)
But often the dividing line is determined by the capabilities
of a given technology: no current schema language provides
any way of declaring that an attribute value should be inherited
by its children if not specified on them, for example. This is
a common thing to want to do (xml:lang, xml:space, xmlns,
etc), but if language designers want to declare this they
are in the cold (DOM and XPath do not support such
a thing directly, for example.)
So there are still quite big chunks of possibilities for
XML systems that the current schema languages
and associated technology do not support. By
having more chairs, there is more chance that
we can find somewhere comfortable to sit.