This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In June 2010 [1], Mary Holstege recommended, among other things, adding a method for characterizing schema-location handling in processors. Her original proposal was for a version-characterization method somewhat different from the one currently used in the XSTS schema [2], but I think it can be translated into the current mechanism; this bug is to do that translation and ask the WG whether we want to make that change or not. - Add a new type ts:instance-schemaLocation-behavior for keywords describing the behavior of processors in the presence of schema location hints in document instances. In theory, many values may be possible here, but for starters two should suffice: instance-schema-loc-follow and instance-schema-loc-ignore. - Add a new type ts:import-schemaLocation-behavior for keywords describing the behavior of processors in the presence of schema location hints in xs:import elements. In theory, many values may be possible here, but for starters two should suffice: import-schema-loc-follow and import-schema-loc-ignore. I propose to add these types and these tokens to the XSTS schema, if the WG agrees. And then, as discussed in 2010, we can use them to disentangle confusions or disagreements about the correct handling and description of tests involving schema location behaviors. [1] https://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2010Jun/0007.html [2] http://www.w3.org/XML/2004/xml-schema-test-suite/AnnotatedTSSchema.xsd
Resolved: mark as decided, MSM to add the keywords and then adopt a reactive stance and use them where needed.
To try and sum up my reading of the current rules in ordinary English: (a) if you declare an element M as being in the substitution group of H, and H blocks substitution, that's not in itself an error, it just means M can't be substituted for H. (b) however, if the type of M is not substitutable for the type of H, perhaps because either H or the type of H blocks substitution (or restriction|extension, if the type of M is a restriction|extension), that is an error - it makes the schema invalid. This is the case that has changed since 1.0. I suppose it's pointless to ask why the distinction?
Apologies: comment 2 was added to the wrong bug. Please ignore.