[Bug 4774] definitional schema documents should be preferentially used over all other sources when validating instances

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





------- Comment #16 from johnarwe@us.ibm.com  2007-12-13 14:59 -------
wrt http://www.w3.org/Bugs/Public/show_bug.cgi?id=4774#c14 [1] and [3]

Looking at the editors draft, the 2nd sentence of 5.5 schema bindings says "The
remainder of this section applies to SML-IF consumers who choose to process the
schemaBindings element."  Meanwhile, just before the end, there is conflicting
text: "Otherwise, an SML-IF consumers MUST  compose a default schema using
*all* schema documents included in the SML-IF document. An SML-IF consumer MUST
use this default schema to validate those SML instance documents that are not
included in any schemaBinding."

The first quote leads to the problems cited in [1] and [3].  The second I think
actually satisfies the intent of [3], but the first quote logically negates it.

This seems like a fairly easy to fix structural issue with the text.  One way
to address this would be:

5.5 Schema Bindings [remove existing first paragraph]
We probably need to do this no matter what else we do.

5.5 Schema Bindings
The set of schema documents used to validate each model instance document can
be specified in one of several ways:
1. A model instance document MAY be explicitly bound to a particular set of
schema documents, i.e. through a schemaBinding element.  A consumer that
supports the schemaBinding element MUST use such an explicit binding if it
exists.  A consumer that encounters an explicit binding but does not support
the schemaBinding element SHOULD make its invoker aware of this situation.
2. A model instance document MAY be implicitly bound to a particular set of
schema documents, i.e. through a defaultSchema.  A consumer that supports the
schemaBinding element MUST use such a binding unless the model instance
document was explicitly bound to a set of schema documents (i.e. through a
schemaBinding element).  A consumer that encounters an explicit binding but
does not support the defaultSchema element SHOULD make its invoker aware of
this situation.
3. If a model instance document is not bound to a particular set of schema
documents, or if the consumer does not support those binding mechanisms, then
the SML-IF consumer MUST  compose a default set of schema documents using all
schema documents included in the SML-IF document.
[then break each distinct case into a sub-section, and reference from each
bullet above]

An equally acceptable alternative (to me), would be to turn some existing text
into a list, increasing the nesting depth of the existing list in this section.
The outer-most list items would be
1. For each
2. If default schema
3. otherwise
The text for 1 and 2 would have to be qualified so that only consumers that
understand schemaBindings MUST ... 

Received on Thursday, 13 December 2007 14:59:33 UTC