- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Tue, 12 Feb 2013 11:04:23 +0000
- To: George Cristian Bina <george@oxygenxml.com>
- Cc: xmlschema-dev@w3.org
George Cristian Bina writes: > I always thought that an included schema document may refer to > components that are defined in the including <schema> even if they are > not directly reachable if we start from the included schema. True, IMO. > Now, the spec says in http://www.w3.org/TR/xmlschema-1/#src-include: > *** > Schema Representation Constraint: Inclusion Constraints and Semantics > In addition to the conditions imposed on <include> element information > items by the schema for schemas, all of the following must be true: > 1 If the ·actual value· of the schemaLocation [attribute] successfully > resolves one of the following must be true: > 1.1 [...] > 1.2 It resolves to a <schema> element information item in a > well-formed information set, which in turn corresponds to a valid > schema. > *** > > Does this "which in turn corresponds to a valid schema" mean that the > above schema starting from test.xsd should be considered invalid > because m.xsd is not valid itself? Ah, but m.xsd _is_ valid. The open reference (to 'a') does not render the schema invalid. Just as in DTDs, including an element (ref.) in a content model is only an error if you need it to validate a particular part of an instance: Note: The pervasive impact of redefinition reinforces the need for implementations to adopt some form of lazy or 'just-in-time' approach to component construction, which is also called for in order to avoid inappropriate dependencies on the order in which definitions and references appear in (collections of) schema documents. When schema components are constructed from XML representations involving reference by name to other components, this assumption may be violated if one or more references cannot be resolved. This specification addresses the matter of missing components in a uniform manner, described in Missing Sub-components (§5.3): no mention of handling missing components will be found in the individual component descriptions below. [M]ost kinds of schema components have properties which are described ... as having other components, or sets of other components, as values, but that when components are constructed on the basis of their correspondence with element information items in schema documents, such properties usually correspond to QNames, and the ·resolution· of such QNames may fail, resulting in one or more values of or containing ·absent· where a component is mandated. [I.e. it's a validation-time error, not a schema error.] ht -- Henry S. Thompson, School of Informatics, University of Edinburgh 10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail from me _always_ has a .sig like this -- mail without it is forged spam]
Received on Tuesday, 12 February 2013 11:04:49 UTC