- From: james anderson <james.anderson@setf.de>
- Date: Fri, 24 Oct 2003 08:50:00 +0200
- To: www-ql@w3.org
On Friday, Oct 24, 2003, at 00:56 Europe/Berlin, Kay, Michael wrote:
> > the point of which is that, given the "32-bit name" which was
> > mentioned, which is close-enough to first-class, name instances can
> > serve, in themselves, to represent the information produced
> > by decoding
> > and required for encoding, and are, in themselves, a sufficient basis
> > for all operations on a closed model, without recourse to the
> > in-scope-namespace mechanism.
>
> This isn't true, because it doesn't allow you to record information
> about namespaces that are declared, but not used in element or
> attribute names.
_this_ claim is not true. there are other ways to represent that
information than as "in-scope namespaces." to paraphrase an assertion
which i recall from an earlier message, "namespaces are a disaster."
while i agree with the sentiment, one must examine the situation in
order to arrive at the truth of the matter.
two disasters have followed from the namespace 1.0 recommendation:
- ill-conceived notions of modeling imperatives have led to proposal
and ratification of increasingly complex and demonstrably inadequate
document representations. despite that the mechanisms are insufficient
to comprehend the results of basic, foreseeable combination operators,
they appear in successive iterations, one more complex and unworkable
than the next.
- the 1.0 namespace recommendation failed to address "namespaced"
document definitions while the 1.1 revision, as drafted, explicitly
precludes complete and closed models for the general case of documents
with a "namespaced" dtd and promotes the prefix to the status of
universal qualifier. that without either a use case or a technical
motivation. this must be a joke.
neither of these are inherent in the mechanism of lexically scoped
prefix bindings. as best this implementor has been able to follow them,
they result from misconceptions about modeling imperatives. there is no
"truth" in that. just misfortune.
a simple thought experiment illustrates the problem. imagine two
elements. each has a binding for the prefix "ns1", but the respective
uri are distinct. each contains an attribute, the value of which is an
expression which is intended to designate a path which includes
universal names. both expressions involve the prefix "ns1". imagine an
operator which constructs a new element which contains a single
attribute with a value which combines the two original expressions into
a single expression. if the model requires that qnames be expressed
literally and interpreted in the context of a lexical prefix binding
environment which is associated with elements and to which one attempts
to afford indefinite extent, the operation cannot be performed. the
resulting binding environment would be inconsistent.
the consequence is that either the granularity of the lexical contour
must be reduced to the of the "qname", or prefixes are promoted to
universal identifiers.
there is nothing particular to xml/xpath/xquery and namespaces in this
result. it follows from results of research which is thirty years old.
at that time the terms were "funarg", "free variable capture", and
"alpha conversion". the "disaster" is not "namespaces". the problem is
an ill-conceived and inadequate model.
in truth, it _is_ possible to define closed models which reflect the
information encoded in namespace-aware documents _with_ QNames in
content. in the presence of declarations, the problem is that same as
ID/NAME/NAMES normalization for attribute values. in the absence of
declarations, the parser cannot resolve the names, but the application
can. the truth is that it is possible to define models which do not
require "in-scope namespace" artifacts - neither in order to support
combination operations nor in order to serialize correctly. every time
the issue has come up, over the past years, i have posted examples
which demonstrate that it is possible. usually with a request for use
cases which go beyond the examples. as yet, there has been no response.
i'll skip the examples this time. responses to the thought experiment
would be enough.
> The whole point about namespace nodes is that such declarations need
> to be retained because the document might depend on the namespaces in
> other ways ("QNames in content") that only the application can know
> about.
we disagree about whether the last supposition - even if it is correct,
does imply that retained declarations are either necessary or
sufficient. (cf. the aforementioned examples and the thought
experiment.)
...
Received on Friday, 24 October 2003 02:50:36 UTC