- From: Mike Sokolov <sokolov@falutin.net>
- Date: Fri, 17 Aug 2012 11:28:10 -0400
- To: James Clark <jjc@jclark.com>
- Cc: micro xml <public-microxml@w3.org>
On 8/17/2012 2:14 AM, James Clark wrote: > After giving this a lot of thought, my preference is for A (no colons > in attribute names anywhere). > > The following considerations have influenced me. > > a) I want to minimize the things in MicroXML that make sense only if > you know the historical context of MicroXML. If somebody who knows > nothing about XML reads the MicroXML spec, I want their reaction to > be: this is a pretty reasonable way to do document markup. Wherever > possible I want to eliminate things that would appear strange to > somebody with no XML background. To put it another way, I want > MicroXML not just to be simpler than XML but less ugly (more beautiful > would be going too far). In my view allowing an "xml:" prefix on > attributes increases the ugliness of the language. > > b) Adding "xml:" attributes reduces the self-containedness of > MicroXML. Even though it's only a SHOULD, adding "xml:" attributes > means users have to consult a broad ranges of existing XML specs to > know how they are supposed to use an aspect of the MicroXML language. > > c) Adding "xml:" attributes adds some complexity to the specification: > it's not just a matter of the BNF; there have to be some words too. > It's much less complexity than was in John's editor's draft, but it's > nonetheless a consideration. > > d) It is likely encourage a MicroXML culture where people use xml:* > attributes in their documents and schemas. I would prefer to > encourage a simpler culture where people use unprefixed attribute > names, as in HTML5. The presence of colons in some names (even if > only after "xml") is likely to create a negative reaction in some > potential users. > > e) I am unconvinced of the utility of the xml:* attributes. I think > the semantics of some of them are common and important, but I do not > think that much value comes from having particular attribute names > that are bound to these semantics regardless of the document type. > > f) If applications really need the document-type-independent binding > provided by the use of the xml: prefix, they are likely to need it not > just for xml:* attributes but for other attributes and elements as > well, which means they will need XML Namespaces. This makes them > unsuitable for MicroXML, since full XML Namespaces are a non-starter > for MicroXML. > > None of these considerations is decisive on its own, but together they > make my preference for option A quite strong. > > James +1 Thank you for this clear statement, James. From the viewpoint of somebody entirely new to MicroXML and XML, I imagine the existence of special xml: attributes would appear to be an unusual historical anomaly. For a specification that is concerned with designing an extensible semantics-free syntax, the inclusion of a small number of reserved names with semantics attached just seems weird. Why those semantics, in particular? I mean xml:lang is useful, why not xml:direction (for right-to-left scripts)? Perhaps id, lang, space and the one I forget right now are the *most* useful application-level semantic elements we could standardize (although I doubt it), but in any case they are certainly not the only useful cross-vocabulary ideas (think links, and include). XML and MicroXML are supposed to empower their users to create their own vocabularies. A mechanism for reserving names is useful for that, and is what namespaces provide. It's a little sad not to have such a thing, but there are all kinds of good reasons to leave it behind. Having decided to abandon namespaces, we need to abide by that decision. I find something a little bit condescending in the idea that it's OK for us spec writers to define reserved names and semantics (at least suggested semantics), but not to provide a mechanism for vocabulary writers to do the same. -Mike
Received on Friday, 17 August 2012 15:27:49 UTC