- From: <noah_mendelsohn@us.ibm.com>
- Date: Sat, 12 Feb 2005 15:58:16 -0500
- To: "Michael Kay" <mike@saxonica.com>
- Cc: "'James Taylor'" <JTaylor@nextance.com>, xmlschema-dev@w3.org
- Message-ID: <OFAEFB0481.13ACF418-ON85256FA6.0072CB59@lotus.com>
Michael Kay writes: >> The thing that's hopelessly inadequate in the current specs is that >> they suggest that you should process each schema document, >> derive a set of schema components, and then assemble the >> components as required by import/include/redefine. The fact is, >> you can't do that, because for example you can't decide what >> data type a fixed or default value is until all the components are >> available: which means you need to keep the original lexical >> value (and its namespace context, just in case it turns out to be a >> QName) until everything is known... Yes. Indeed, the current Rec goes further and in sections on <include> etc. applies the term "schema" to the (potentially incomplete or tentative) components that correspond to a single schema document. That seems to me to contradict other parts of the Rec. There is an ongoing debate in the schema WG as to how to apply the terminology moving forward. Not only do we need to resolve the ambiguities you point out above, we need to adopt consistent terminology. Either the term "schema" applies only to a collection of components that together meets the constraints on components and is usable for a validation (which is not true of what you get from a single schema document in isolation), or we need another term for such a collection. My preference is to reserve the word "schema" for the set meeting the constraints and usable for validation; others in the WG prefer the broader usage and refer to the narrower set as a "valid schema". Either way is probably OK, but the recommendation is currently inconsistent. Anyway, I agree that the ambiguity you point out is real, important and needs resolultion. >> So there's no way one can say the current specs are unambiguous in this area. I only meant that the explicit statement that redefines are pervasive could be taken to trump the other ambiguities relating to other aspects of inclusion, etc. I can see the other point of view. Either way, a much effort is ongoing to clarify all of the above. I strongly suspect that the clarification, however expressed, will make clear that redefines are resolved after all inclusions have been taken care of. I also expect that explicit inclusions of the same document (address.xsd) will not cause an error. There is some question as to whether it will be an error for seemingly identical components to be included from different documents. Stay tuned. BTW: there is not WG consensus on anything I've mentioned above, other than the need to clarify. I'm just giving my best guess as to where things will land. -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- "Michael Kay" <mike@saxonica.com> Sent by: xmlschema-dev-request@w3.org 02/12/05 04:57 AM To: "'James Taylor'" <JTaylor@nextance.com>, <xmlschema-dev@w3.org> cc: (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: RE: clarification of redefine semantics > My reading of Schema 1.0 is that it's absolutely unambiguous that if the combined schema is accepted at all, the redefinition of Address is pervasive and applies throughout the schema that results from the transitive closure of the files referenced from Company.xsd. The thing that's hopelessly inadequate in the current specs is that they suggest that you should process each schema document, derive a set of schema components, and then assemble the components as required by import/include/redefine. The fact is, you can't do that, because for example you can't decide what data type a fixed or default value is until all the components are available: which means you need to keep the original lexical value (and its namespace context, just in case it turns out to be a QName) until everything is known (if indeed there *is* a time when everything is known!). There are other examples of this, for example the effect of xs:redefine depends on whether the XML representation specifies form="qualified", which is information that's only available in the XML representation and not in the component model. So there's no way one can say the current specs are unambiguous in this area. Michael Kay http://www.saxonica.com/
Received on Saturday, 12 February 2005 21:01:47 UTC