- From: C. M. Sperberg-McQueen <cmsmcq@acm.org>
- Date: 12 Jul 2005 20:38:38 -0600
- To: Steven Ericsson-Zenith <steven@semeiosis.com>
- Cc: W3C XML Schema Comments list <www-xml-schema-comments@w3.org>, xmlschema-dev@w3.org
- Message-Id: <1121222317.3443.233.camel@localhost>
On Mon, 2005-06-27 at 14:25, Steven Ericsson-Zenith wrote: > I guess I am puzzled as to why the committee did not follow the > precedent set by the XML standard Can you elaborate? I'm not sure what precedent you refer to. The use of a home-grown grammatical notation? The attempt to be clear and precise without much overt formalism? The attempt to write the spec in 20 normative pages? > and wonder what the W3C broad position is - surely a > recomendation regarding formal specification for all the > standards is appropriate. A common mathematical basis and > algebra in the standards would seem useful to me. I suspect they'd seem useful to a lot of people. But I don't think I'd like to be the one to try to persuade every WG in the W3C to learn any particular formalism. Nor do I know what formalism the W3C should prescribe, if we were to try to prescribe one. I mentioned Z to a respected colleague not too long ago; he laughed and said "No, no. That's so *last-century*." > ... > Typing questions, IMHO, is another example of a short term > pragmatic - who can doubt the necessity that precision decimal > should be supported or that date and timestamps should cover > the scope of those specified in SQL? In the absence of a > mechanism to specify the base types of a schema it would be an > error not to support these types IMHO. So this could be solved > immediately with an errata that extends the base types. I'm not quite sure what you mean when you say "base types". I am inclined to think you don't mean what XSD 1.0 means by it (each type other than the root of the type hierarchy has a base type, from which it is derived either by restriction or by extension). By "base types" do you mean the set of built-in simple types? > [As an aside the base type mapping problem is identical > conceptually to the problem of binding schema types to > application types. So a single solution that solves both > problems should be proposed.] I'm not quite sure I understand what it is you denote with the phrase "the base type mapping problem". Either I don't know the problem, or I know it only under some other name. Can you explain? > ... I also want to clarify what I mean by formal specification > and what others may mean. When engineers ask for a formal > specification they do not necessarily need a Zed > specification. While the computer science formal methods > community has gone down the road of building new algebras it is > by no means a necessity that a formal specification be entirely > written in what has essentially become a private language. That clarification is helpful. But it begins to seem that when you say you would like the spec to be more formal, you mean just what some people mean when they say they want it to be clearer. And years of experience with expository prose have led me to believe that clarity is a deplorably slippery concept and universally acknowledged clarity a frustratingly elusive goal. (If I understand you correctly, you find the XML spec clear and helpful; this pleases me, but it's by no means a truth universally acknowledged.) > John von Neumann and David Hilbert used informal language too - > the tendency toward strict private langauges is a relatively > recent phenomenon - one that manifestly has not served computer > engineering well since it has built an unneccessary divide > between formalists and engineers. I shall make a point of remembering this argument; who would dare argue that a spec which emulates Hilbert is insufficiently formal? Thank you! > Noah is rightly concerned about new articulations because he > fears that the new work will make unintended contradiction with > the old work. If this really is a concern - and it is really > that difficult for a skilled individual to reproduce the > current specification then that seems to me to be clear > evidence that the need is more urgent, for how on earth is a > can we expect tools writer to fair better? Personally, I find this a strong argument. I won't answer, though, for the other members of the Working Group. > So, on review, here is a summary of my recommendations: > > 1. In version 1.1 specify a binding mechanism that permits > base types to be specified and use this mechanism to specify > the 1.0 base types as base types in 1.1. This mechanism would > also enable general binding of types between schemas and > applications. If my conjecture is correct that your "base type" is what the spec calls a built-in type (or possibly just the special types and the primitive types), then I think this amounts to saying that the kind of processor specified in the Structures spec can be bound (at run time only? or possibly at processor-compile time instead?) with any set of simple types which meet some invariants (the nature of which would need to be specified as part of the description of the binding mechanism), in much the same way that RelaxNG can be used either with the XSD 1.0 simple types or with any other set. Is my understanding correct? Incorrect? > 2. In version 1.1 specify a profiling mechanism that permits a > guarantee in a schema - the guarantee is that the semantics of > the specified subset of the named schema will never change. > This could, perhaps, be implemented by an attribute on types > that says the type cannot be redefined. By "semantics" you mean ... what, exactly? What commitment am I making if I say the semantics of type PurchaseOrder will never change? Am I saying the amounts will always be in U.S. dollars, or only that a purchase order will always be a legal instrument pertaining to the exchange of goods in a monetary economy? > ... > 5. Instance trees. It is useful in instances to reference > other instances of the same schema - for cases where part > of the instance changes infrequently and another part > changes more frequently. I'm not sure what this means, or how what is described differs from the xsd:include, xsd:import, and xsd:redefine mechanisms already present. Can you explain? > 6. Finally, I pointed out that there is an error in the > specification of recursive types. The tail of the recursion > must read minOccurs=0, otherwise you can specify infinitely > recursive data structures in a schema - and this is clearly an > error. Hmm. It doesn't seem clearly an error to me, whether you mean it's an error for a user's schema to contain such a type or an error in the schema language to allow such a type. Using the EBNF notation of Niklaus Wirth, I can write a grammar consisting of the single production rule: S = "(" S ")". This grammar defines a language with no finite-length sentences. Under most usual circumstances, I think anyone writing a grammar is likely to be trying to define a different language; if they write instead a grammar of the form just given, I agree that they have made an error. But is it necessarily an error? Sometimes circumstances are not usual. Is it invariably an error on the user's part to write grammars for languages with no sentences? (It's not an error on my part in the example given above: I intended just such a non-satisfiable grammar.) Is it an error in Wirth's definition of his notation that such grammars can be written? best regards, -C. M. Sperberg-McQueen World Wide Web Consortium
Received on Wednesday, 13 July 2005 02:39:02 UTC