- From: Maik Stührenberg <maik.stuehrenberg@uni-bielefeld.de>
- Date: Mon, 08 Feb 2010 13:24:13 +0100
- To: noah_mendelsohn@us.ibm.com
- Cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, www-xml-schema-comments@w3.org
Noah, Michael, thank you both for your reply and explanations regarding the type alternative in XSD 1.1. Noah, I see the circularity problems you've discussed. It seems that I misunderstood the type alternative feature, so thank you both a lot for clarifying that issue. Best regards, Maik Stührenberg Am 05.02.10 20:42, schrieb noah_mendelsohn@us.ibm.com: > Terrific, thank you. I wasn't particularly worried because I knew we had > intended to enforce the restriction, and it seemed the sort of thing that > would only have been changed for good reason. FWIW, I believe I was > looking in the section on xs:alternative, and I infer from your note that > in fact it's with xs:element. Thank you for the clarification. > > Noah > > -------------------------------------- > Noah Mendelsohn > IBM Corporation > One Rogers Street > Cambridge, MA 02142 > 1-617-693-4036 > -------------------------------------- > > > > > > > > > "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com> > 02/05/2010 01:17 PM > > To: noah_mendelsohn@us.ibm.com > cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, Maik > Stührenberg <maik.stuehrenberg@uni-bielefeld.de>, > www-xml-schema-comments@w3.org > Subject: Re: XSD 1.1: xs:alternative only allowed as child > of xs:element? > > > > On 4 Feb 2010, at 15:16 , noah_mendelsohn@us.ibm.com wrote: >> ... I was fairly sure that >> when we designed the xs:alternative mechanism it was required that >> each of >> the alternative types for an element be derived from the explicitly >> declared type; I don't see that constraint enforced in the spec. > > The schema component constraint Element Declaration Properties > Correct in section 3.3.6.1 of the spec enforces the rule you are > thinking of in its final clause: > > 7 If E.{type table} exists, then for each {type definition} > T in E.{type table}.{alternatives}, and also for > E.{type table}.{default type definition}.{type definition}, > one of the following is true > > 7.1 T is ·validly substitutable· for E.{type definition}, > subject to the blocking keywords of > E.{disallowed substitutions}. > 7.2 T is the type ·xs:error·. > > I hope this helps reassure you. > > If one looks for this rule only in the section describing type tables > (which does not seem an unreasonable place to look), one won't find > it; it can't usefully be enforced on type tables in isolation, because > it depends crucially on E.{type definition}, which is not part of the > type table. That's a consequence of the way the WG chose to integrate > conditional type assignment with the existing design; a design less > obsessively fixated on compatibility with every quirk and flaw of the > 1.0 component layer would have been able to arrange things less > confusingly. > > > Michael > -- Maik Stührenberg, M.A. Universität Bielefeld Fakultät für Linguistik und Literaturwissenschaft Universitätsstraße 25 33615 Bielefeld Telefon: +49 (0)521/106-2534 E-Mail: maik.stuehrenberg@uni-bielefeld.de http://www.maik-stuehrenberg.de http://www.xstandoff.net
Received on Monday, 8 February 2010 12:35:55 UTC