W3C home > Mailing lists > Public > www-tag@w3.org > February 2009

Re: Formulate erratum text on versioning for the web architecture document

From: John Kemp <john.kemp@nokia.com>
Date: Tue, 17 Feb 2009 17:22:54 -0500
Cc: David Orchard <orchard@pacificspirit.com>, Larry Masinter <masinter@adobe.com>, "www-tag@w3.org WG" <www-tag@w3.org>
Message-Id: <944921DB-0A02-403C-97B5-4E2266631362@nokia.com>
To: "ext noah_mendelsohn@us.ibm.com" <noah_mendelsohn@us.ibm.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:48:12 GMT