- From: Michael Kay <mhk@mhk.me.uk>
- Date: Mon, 27 Sep 2004 10:03:39 +0100
- To: "'Henry S. Thompson'" <ht@inf.ed.ac.uk>
- Cc: <xmlschema-dev@w3.org>
OK. So you are telling me that the statement in 3.15.3, "For a ˇQNameˇ to resolve to a schema component of a specified kind all of the following must be true:" is wrong? The first condition below that statement reads: "That component is a member of the value of the appropriate property of the schema...". Is this condition completely wrong, should I ignore it totally, or does it have some residual meaning? Does this also mean, for example, that if P imports Q and Q imports R, that a QName in P can resolve to a component defined in R? And perhaps that a QName in R can resolve to a component defined in P? Are there any restrictions at all? This would mean that if I implement a schema cache in which R is cached, the names in R can resolve differently depending on who imports it. The problem I have with the para from 4.2.1 is the phrase "during schema construction". Is there any point at which I can decide schema construction is complete, or is it not possible to report unresolved references in a schema until you actually see an xsi:schemaLocation attribute in an instance document, at which point you know the full set of schema components available? This would mean that none of the more complex schema consistency constraints can be checked in advance, which would surely be a bad thing. This now leaves me the problem of deciding whether to implement what the spec says, or what its authors say that it should have said. (I'm implementing 1.0, not 1.1!) Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Henry S. Thompson [mailto:ht@inf.ed.ac.uk] > Sent: 27 September 2004 08:55 > To: Michael Kay > Cc: xmlschema-dev@w3.org > Subject: Re: Cross-references among included schema documents > > You've put your finger on a weakness in the REC -- the prevasive > impact of the necessity of allowing for late binding was imperfectly > realised in the prose. The bit you quote from 4.2.1 [1]: > > "As discussed in Missing Sub-components (§5.3) [2], ˇQNameˇs in XML > representations may fail to ˇresolveˇ, rendering components > incomplete and unusable because of missing subcomponents. During > schema construction, implementations must retain ˇQNameˇ values for > such references, in case an appropriately-named component becomes > available to discharge the reference by the time it is actually > needed." > > is meant to have a universal impact. So, somewhat informally, I'd say > that in your example the inclusion of B into A results in a schema, > some of whose references are unresolved. Once C is integrated, we get > an enlarged schema, and resolution becomes possible. > > The XML Schema WG is at work to make this cleaner, clearer and more > systematic in Schema 1.1 > > ht > > [1] > http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/#compound-schema > [2] > http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/#conformanc > e-missing > -- > 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 Monday, 27 September 2004 09:04:13 UTC