[Bug 3220] Terminology: "must"

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3220





------- Comment #6 from noah_mendelsohn@us.ibm.com  2008-02-19 22:49 -------
Michael Sperberg-McQueen writes:

> For what it's worth, I do not understand the
> remarks about section 2.4 in comment #2.  The
> proposal appears to be either (a) that there is no
> need to talk about the relation of the concept
> "error" and the concept "conforming schema
> document" at all, or (b) that wherever that
> relation is clarified, it ought not to be
> clarified in section 2.4 of Structures.

Closer to (a), certainly not (b).  See below.

> Proposition (b) may be true, or may not; either
> way, it seems premature to worry about where the
> clarification should be made.

Yes, premature and no, not my intention.  Sorry for the confusion.

> Proposition (a) amounts to saying that we should
> continue to use the terms "conformance" and
> "error" without clarifying how they relate to each
> other; this seems to me too harebrained an idea to
> merit discussion.

Well, my real preference is to talk about conformance of schema documents and
schemas (I.e. sets of components), and preconditions for producing a PSVI.  I
would prefer to get out references to the word "error", and having done that,
would not have to explain the relationship between "conformance" and "error".

With respect to schema documents, I think it would be fine for us to clearly
define conformance criteria, and stop there.  So, with the Recommendation in my
left hand and an XML Infoset in my right, I can tell you whether the Infoset is
or isn't a conforming schema document.  I see no need to mention the word
error.

We also, of course, have a basic treatment of processor conformance in section
2.4 (in both Schema 1.0 and Schema 1.1).  As best I can tell, those definitions
also don't appeal to an explict notion of "error" (though section 5.1
does...see below).  My reading of them is that each of the conformance levels
has certain preconditions to be applicable at all.  Implicitly, a minimally
conforming processors operation in producing a PSVI is defined only in the case
that the supplied schema meets the constraints on components.  If that isn't
stated clearly (and I think it's stated sort of obliquely in both 1.0), then
I'd support saying it in so many words.

My point is, I don't think we need to talk about "errors".  I think it's better
to say, for processors, the output of conforming processors is defined in the
cases where the input meets the following constraints (I.e. there is a schema
satisfying the constrainst on components and an input Infoset).  In such cases,
the PSVI is defined.  In other cases it isn't.

In short, I don't find the word error helpful in our Rec.  I think we have the
abstractions we need to tell our story without appealing to that word.  Now, we
do of course use the word error in some places in the Recommendation.  I've
just searched for all of them, and that search confirms my feeling that in
general the abstraction is not adding anything fundamental.  In many cases, I
think the term is used more as a general indicator of "something not good" than
as something interestingly distinct from, say, input that fails to conform. 
Others, such as section 5.1 do use it in a way that's intended to have real
force:  

"It is an error if a schema and all the components which are the value of any
of its properties, recursively, fail to satisfy all the relevant Constraints on
Schemas set out in the last section of each of the subsections of Schema
Component Details (§3)."

Yes, but is calling that an error adding anything?  Would it be any less
helpful to say:  "The assessment operation, and hence the determination of a
PSVI, is defined only with respect to a valid schema, I.e. one in which the
components comprising the values of its properties, recursively, satisfy all
the relevant Constraints on Schemas set out in the last section of each of the
subsections of Schema Component Details (§3)".  

Indeed, my preference would be to go through the Recommendation, looking for
occurrences of the word "error", and in all or most cases, replacing them with
discussions of required preconditions, conformance criteria, etc.  So, rather
than explaining the relation of errors to conformance, I would try instead to
making sure that we've explained conformance criteria for documents,
preconditions for computing a PSVI, etc. 

That said, I'm mentioning this mainly because it's come up.  I've lived with
the Schema 1.0 approach to "errors" all these years, and while I'm glad to
share my opinion on how I'd fix this, I expect I can live with many compromise
alternatives.  You seemed confused about what I was trying to say regarding
2.4;  I hope this clarifies it.

Noah

Received on Tuesday, 19 February 2008 22:49:25 UTC