- From: Tim Bray <tbray@textuality.com>
- Date: Mon, 24 Feb 1997 16:22:11 -0800
- To: w3c-sgml-wg@w3.org
The ERB met Sat. Feb. 22. Present: all but Clark and DeRose. Discussion was on the subject of recognition of linking elements. The decisions we have apparently taken do leave us with some fairly serious concerns, so we are submitting both the decisions and the concerns to the WG on the theory that someone may convince us either that the concerns are overblown, or that they are understated and that we should proceed to a fallback position. I. Recognizing linking elements via attributes With respect to recognition of linking elements, the ERB has consensus that the best way to do this is with reserved attributes. The attribute name should probably be "XML-LINK". There is, however, a consequence which could lead to direct conflict between the desire for operational simplicity and that for document validity. The problem is, how to declare and provide a default value for the XML-LINK attribute? 1. The case where no markup declarations are provided: plan A: supply the attribute for each element that is a linking element. 2. The case where only the internal subset is to be provided: plan B: declare the attribute with a #FIXED default value in an <!ATTLIST in the internal subset. Both of these are perfectly viable; plan A might be sensible even with an internal subset, if the number of linking attributes is small. 3. The case where there is an external DTD subset: plan A: same as above plan B: same as above plan C: declare the default in the external subset But plan C means the client has to fetch the external subset in order to get the necessary declaration. Which is a violation, we think, of our axioms. To avoid that, stick it in the internal subset. Oops, then either plan C1: you remove it from the external subset, or plan C2: you provide invalid documents to the client; 8879 makes it illegal to have multiple <!ATTLIST declarations for the same element. Plan C1 is operationally infeasible. C2 violates another of our axioms, that XML should support operations on valid documents. Of course, the problem goes away if 8879 is modified to remove the current prohibition on multiple <!ATTLIST declarations; and we hope that this will happen in the not-too-distant future. However, the ERB is convinced that for Web viability, there *must be* a signaling mechanism that's within the document instance that gets sent down the pipe. So, if it seems that the conflict with 8879 doesn't go away, we will avail ourselves of an escape hatch; at the moment there seem to be four options: e1: Steve Pepper's elegant <!LINKTYPE proposal e2: A PI-based signal e3: A special XML-LINKMAP element that sits at the front of the instance. e4: A special XML-LINKMAP element that goes in an external document (stylesheet or something found by analogous means), as proposed by Terry Allen and Alex Milowski There was sharp dissension in the ERB on what to do given the uncertainty on what WG8 will do. Several members, while respecting the integrity and appropriateness of the <!LINKTYPE technique, find the syntax, and the prospect of explaining it, repellent. Nonetheless, the <!LINKTYPE technique, if only as an interim measure, remains the choice of at least one member. The PI technique is nicer looking and easier to explain, but requires extra implementation. It also (I think) remains the first choice of one or more ERB members. Some feel that the <!ATTLIST in the subset has the advantage of requiring no extra syntax beyond that in base XML, and the problem of the conflict between manageability and maintaining SGML validity would be a non-issue, operationally. There is also concern on the part of ERB members about adopting interim measures at all, especially while there is active work going on among WG8 members in an effort to address the concerns raised by the XML work. By a vote of 8 to 1 (Sperberg-McQueen dissenting), the ERB tentatively decided to - specify that linking elements are to be recognized using the value of a reserved attribute - include in the XML Link spec some application notes as to the operational techniques for such signalling, including providing it on each element and using <!ATTLIST in either internal or external subsets - point out that it is not possible to duplicate external subset markup declarations in the internal subset without compromising SGML validity - promise, in the draft, that if the multiple-ATTLIST method does not become legal in SGML, one of the other feasible methods which provide compatibility with SGML will be substituted for the multiple-ATTLIST method (but not to decide until then which option will be chosen) II. Recognizing linking elements via GI The ERB voted as follows: In favor of allowing recognition via GI: Bray, Magliery, Maler, Kimber. Against: Bosak, Hollander, Paoli, Sharpe, Sperberg-McQueen. Thus the measure fails. The arguments here are simple. In favor of doing this are the facts that it's easy to explain, and that this is the specified default behavior for an architecture anyhow. Against it are the benefits of having only one way to do things, with the accompanying desirable shrinkage and simplification in the specification. Given the closeness of the vote, I *think* I can speak for most of us in saying that it was a pretty close call, and most of the ERB, regardless of the way they voted, probably could have lived with it going either way; the arguments on both sides are palpably good, and the consequences of a wrong choice don't seem that severe. Cheers, Tim Bray tbray@textuality.com http://www.textuality.com/ +1-604-708-9592
Received on Monday, 24 February 1997 19:23:20 UTC