- From: John Kemp <john.kemp@nokia.com>
- Date: Tue, 17 Feb 2009 17:22:54 -0500
- To: "ext noah_mendelsohn@us.ibm.com" <noah_mendelsohn@us.ibm.com>
- Cc: David Orchard <orchard@pacificspirit.com>, Larry Masinter <masinter@adobe.com>, "www-tag@w3.org WG" <www-tag@w3.org>
Hello Noah, Thanks very much for the comments. Addressing only the current action for now. More on the general issue later: On Feb 17, 2009, at 4:42 PM, ext noah_mendelsohn@us.ibm.com wrote: > John proposes: > >> I believe that the best practice is still correct and important - >> data >> format specifications should provide a mechanism (where that >> mechanism >> might simply be "use XML namespaces") allowing instances to indicate >> version information. Authors will likely not know whether they will >> later have to create a new, incompatible version of a format a >> priori, >> but should likely assume that they will. > > Well, I still respectfully disagree. This suggests that a big > subset of > the programming languages we use are poorly designed because they > don't > invite us to say things like: > > <?php PHPVersion="4.1" ... ?> > > or to put Java version="2.0" in our Java source files. I was addressing specifically the documentation produced in AWWW Section 4 [1], which states: > "A data format specification (for example, for XHTML, RDF/XML, SMIL, > XLink, CSS, and PNG) embodies an agreement on the correct > interpretation of representation data." Section 4.2 on versioning and extensibility thus seems intended to relate specifically to "data format specifications" and to a specified agreement regarding representation data. As such, I don't feel that this text casts aspersions on languages such as PHP (which as far as I know has no language specification) or Java. I am not sure that they have the same needs with respect to "agreement on the correct interpretation of representation data". I do find your comments, however, to be instructive. I'm just not sure how to best use them yet in this specific case. > I gave my reasons > in the blog posting, and I won't repeat them here. > >> I would suggest, however, that perhaps an additional best practice >> might be warranted, along the lines of Noah's suggestion in [3]: >> >> "If a language, or data format, changes in incompatible ways, a new >> version identifier should be assigned to the updated data format, and >> allowed in document instances." > > Thank you. I do think that bit is worth saying. Overall, I might > go with > something like this: > > "In cases where the same instance document has incompatible meanings > per > two or more versions of the language specification, provision MUST > be made > for indicating the version(s) used to encode each instance. Use of > explicit version identifiers in other languages is optional, and in > some > cases such explict identifiers can actually inhibit the adoption of > new > language versions, or can inhibit interoperability between systems > implementing differing versions of the language." Are you saying that a new version identifier should not always be minted just because a new version of the language has been? That at least is the intent I had in writing the additional best practice text. But I would like to separate the idea of creating a mechanism for allowing version indications, from the practice of assigning and using new version indicators. > > ...or words to that effect. > > As an example of that last admonition, one can argue that XML 1.1 > might > have been deployed much more successfully if no version attribute were > provided in the XML declaration. The point I have been trying to make is that this issue doesn't seem to be about whether a version attribute is _provided_ in the format specification; it is about whether a new version identifier is created when a new version of a language is created. > I don't believe it's the case that the > same document ever had two different legal meanings in XML 1.0 and XML > 1.1; it's just that some documents are legal in one version and some > legal in the other. XML 1.0 processors would have rejected content > using > new XML 1.1 characters just as surely (if not just as early) if no > version > identifier were provided. The ID is really just a cross check or > early > warning in such cases. The only time it's really crucial is if the > same > document can mean different things as the specification changes. I don't think this is a problem caused merely by the existence of a 'version' attribute. Regards, - johnk [1] http://www.w3.org/TR/webarch/#formats
Received on Tuesday, 17 February 2009 22:39:12 UTC