[Bug 5519] Relationship between SML model validity and XSD validity assessment needs to be precisely defined

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





------- Comment #5 from cmsmcq@w3.org  2008-05-08 18:09 -------
Folllowing up from comment #4; I agree that there are things to clarify 
here.  (I think HT's query about [validation attempted] is a bit of a red
herring, though.  We neither change that property nor depend upon it; it's
not clear that there is anything to clarify there.)

We have agreed, I think, that it's important to be able to include invalid
documents in a model.  But we also say (section 8 of SML 1.1) that a
model is valid only if all of its docouments are schema-valid (or more
specifically not invalid!) at the root.  I think this means that model
validity includes XSD validity as a sort of subclause:  if any documents
are schema-invalid, then the model is not SML-valid.  (Are we agreed so
far?)  If the model is not valid, it can still be conforming.

But as suggested by Kumar in comment #4, there's another interaction.  
SML model validation depends on XSD schema validity assessment, because SML
constraints apply on elements and attributes in a document if and only if
they are governed by declarations or definitions that carry the relevant
new properties.  XSD 1.0 allows for some variation among implementations
in some cases such as lax wildcards:  an XSD validator is allowed but not
required to check children, attributes, and descendants of an element that
matches a lax wildcard and has no element declaration in the schema.
Recovery from invalid input is also subject to variation.  

We can do either of two things.

1) Add a sentence (or a non-normative Note?) observing that as
a consequence of the implementation-variability allowed by the XSD 1.0
spec, some implementation-variability is necessarily allowed for checking
SML constraints.

2) Specify that for SML model validation, the XSD 1.0 processor used MUST
do fallback to lax validation whenever possible (or MUST NOT).

For what it's worth, XSD 1.1 has less variation in this area.  And it's
easier to understand the variability in 1.0 by looking first at 1.1 and
the terminology it defines.

Received on Thursday, 8 May 2008 18:10:04 UTC