- From: Henry S. Thompson <ht@inf.ed.ac.uk>
- Date: Thu, 21 Apr 2005 09:34:29 +0100
- To: "Martin Thomson" <martin.thomson@nortel.com>
- Cc: Michael Kay <mike@saxonica.com>, xmlschema-dev@w3.org
"Martin Thomson" <martin.thomson@nortel.com> writes: > For example: > > Top = (x : anyType, ##any) > Middle = (x : string, y : anyType) > Bottom = (x : string, y : string) Right, on the proposed 1.1 story, that's not allowed _unless_ y is declared at the top-level with anyType. > However, element y cannot be declared globally, as required by "strict" > because its type cannot then be restricted as shown. Why not? Restricting top-level with local is allowed. Instances which look like this <top><x>...</x><y>...</y></top> will be validated with y : anyType, not y : string, but I don't see what else you expect. You can always do <top xsi:type="BottomType"><x>...</x><y>...</y></top> > For my own understanding, what benefit does this change provide? Make what it says at the beginning of the 1.0 REC actually true :-). "Members of a type, A, whose definition is a ·restriction· of the definition of another type, B, are always members of type B as well." That invariant in turn makes processing schema-validated material to make important assumptions based on the types assigned to items in the infoset. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, 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 really from me _always_ has this .sig -- mail without it is forged spam]
Received on Thursday, 21 April 2005 08:34:35 UTC