- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 7 Oct 2009 18:34:50 -0400
- To: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>
- Cc: www-xml-schema-comments@w3.org
Michael Sperberg-McQueen writes: > Just for the record, this member of the WG never believed any > distinction was intended. Nor did I. Assuming that others agree, my concern boils down to: if there's no distinction intended, let's pick one term, and use it consistently. > But I think that if the WG agrees to reconsider what classes of > conforming software to define, then wordsmithing the current > definition of minimal conformance may prove pointless. Let us > draft clear definitions of the conformance classes we wish to > specify, once we know what those are. That would be just fine with me, and I presume that doing so would lead to some sort of resolution of the inconsistency noted above. I do hope that insofar as the definitions of such conformance classes might discuss the PSVI, they will do so by reference to the terms in C.1 as appropriate. Thank you. Noah -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com> Sent by: www-xml-schema-comments-request@w3.org 10/07/2009 06:09 PM To: www-xml-schema-comments@w3.org cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: Re: [Bug 7695] Conformance On 7 Oct 2009, at 14:31 , bugzilla@wiggum.w3.org wrote: > http://www.w3.org/Bugs/Public/show_bug.cgi?id=7695 > ... > --- Comment #1 from Noah Mendelsohn <noah_mendelsohn@us.ibm.com> > 2009-10-07 20:31:06 --- > In doing a bit of looking at this issue, I was struck by what may or > may not be > better tracked as a separate concern. > > Specifically is the intended distinction (if any) between minimally > conforming > processors (a term formally defined in section 2.4), and > "conforming" as used > in the preamble to Appendix C.1, a clear one? Just for the record, this member of the WG never believed any distinction was intended. > ... > > Note also that in 2.4 we say: > > "[Definition:] Minimally conforming processors must completely and > correctly > implement the ˇSchema Component Constraintsˇ, ˇValidation Rulesˇ, > and ˇSchema > Information Set Contributionsˇ contained in this specification." > > That is a bit ambiguous, but at least suggests that the whole PSVI > be exposed > by a minimally conforming processor. I have never understood it in that way, and never understood it to have been intended in that way. As far back in the WG's history as I can remember, we have contemplated the idea that processors which expose only part of the PSVI should be conforming processors. That was and remains my understanding of the conformance requirements of 1.0, and of those of 1.1. I agree that the definition of minimal conformance is not a very clear expression of that state of affairs, but until bug 7695 was opened I thought the worst that could be said of it was that it was awkwardly expressed and made it unnecessarily difficult to understand what was meant; that did not distinguish it sufficiently from the rest of the spec to make me want to revise it. If this difference of opinion about what the meaning of "minimal conformance" becomes an issue, I suppose it may be necessary to consult the decision records of the last eleven years for records that shed light on this question. Until that time, I am going to rely solely on memory, with all the dangers of error that that entails. I am surprised to see Noah suggesting that it might be a requirement of minimal conformance not only to implement the infoset contributions (that is, to generate the appropriate information in the course of validation) but to expose it to downstream applications. It would surprise me no matter who suggested it, but I associate Noah with consistently strong advocacy over the years for the contrary position. I do not remember anyone ever suggesting that minimally conformant processors are or should be required to expose the entire PSVI, or assuming that position in building other arguments. (Until, that is, MK opened this issue, which made me aware that the definition of minimal conformance is not only awkwardly formulated but subject to an interpretation which I believe to be a complete reversal of the documented intention.) > Taking the two quotes together, I think > one concludes that either (1) there are processors that are > conforming but not > minimally conforming, which seems strange to me or (2) the > presentations in 2.4 > and C.1 were never reconciled. I don't believe they are in conflict; as a consequence, it did not occur to me to believe that they should (or could) be reconciled. N.B. while I believe that the two passages are not, when properly understood, in conflict, I do favor changing the wording of section 2, which is awkwardly expressed, and which has now been shown to give rise to undesirable (and I believe unintended) interpretations. > I think that cleaning this up is relatively easy, and doing so is > likely to > give us a slightly cleaner backdrop against which to consider MK's > concerns. I > think I could live with either of the following resolutions, both of > which > collapse the two terms into one. Either: > > A) In section 2.4 change the text to read > > "Minimally conforming processors must completely and correctly > implement the > ˇSchema Component Constraintsˇ, ˇValidation Rulesˇ, and, > >optionally, some or > all of the< ˇSchema Information Set Contributionsˇ contained in this > specification."" That change would suggest that implementing an infoset contribution is the same as exposing the information to a downstream processor. That suggestion, in turn, seems to reflect yet another recurrence of confusion between information sets and APIs. > Change section C.1 to read: > > "...the information set taken as input is augmented in the course of > schema-validity assessment. >Minimally conforming< processors >MAY< > provide > access to some or all of this information..." > > -- or -- > > B) Get rid of the term minimally conforming completely. In its > place, make > "conforming processors" a termdef" in section 2.4, and change the > text to read > > ">All< ˇconforming processorsˇ must completely and correctly > implement the > ˇSchema Component Constraintsˇ, and ˇValidation Rulesˇ. > >Additionally, > conforming processors MAY report some or all of the< ˇSchema > Information Set > Contributionsˇ contained in this specification. >(See Appendix C.1)<"" I'm not sure I understand the proposal. I think you are suggesting that the text you give ("All conforming processors must ... (See Appendix C.1)") be marked as a definition of 'conforming processor'. (But then why is 'conforming processors' marked as a term REF in the proposed text?) But the words given are not in the form of a definition, and (like many other locations in the spec which I continue to find confusing they seem to conflate the act of defining a term with the act of specifying conformance requirements. The wording here does have the advantage that "MAY report" is a better way of phrasing what it is that processors may or may not do with infoset contributions. A different small change to the definition of 'minimally conforming processors' might serve a similar purpose: [Definition:] A minimally conforming processor is one which implements the rules given in this specification, insofar as they affect the processor's behavior or the information it exposes. But I think that if the WG agrees to reconsider what classes of conforming software to define, then wordsmithing the current definition of minimal conformance may prove pointless. Let us draft clear definitions of the conformance classes we wish to specify, once we know what those are. -- **************************************************************** * C. M. Sperberg-McQueen, Black Mesa Technologies LLC * http://www.blackmesatech.com * http://cmsmcq.com/mib * http://balisage.net ****************************************************************
Received on Wednesday, 7 October 2009 22:32:57 UTC