On 12/8/06, James M Snell <[EMAIL PROTECTED]> wrote:
I'm fine with the type parameter approach so long as it is effective. By effective I mean: Will existing implementations actually take the time to update their behavior to properly handle the optional type parameter.
It would be useful to define better what is meant by "properly handle the optional type parameter." Those that don't understand the parameter should simply continue to operate on the current assumption that they can't really be sure if they are reading a feed or an entry until they read the first few bytes. Those that do understand the meaning of the optional parameter will be writing code in the future and we can hope that if they become aware of the type parameter and decide to care about it, they will have sufficient awareness to do whatever they do in a "proper" manner. The only case where I can see a problem would be those folk who match against the existing media type as an opaque string and don't have any code to handle opional type parameters. Such sloppy code would be broken by the use of the optional type parameters since the presence of the parameter would break the simple string matches used by these coders. However, I must admit that I don't have much sympathy for such folk. Making basic design decisions to adress the concerns of these sloppy folk is something like the old prejudice against using XML attributes since it tended to make it harder to create sloppy, regex based parsers... In any case, the alternative proposal, create a new media type for entries, would tend to confuse people who have their code written properly today --- those whose code understands that the existing atom mediatype can be used for both a feed and and entry. What we would be doing by creating a new media type is break the code of the folk who paid attention to the spec in order to preserve the code of those who didn't read the spec (or those who refused to see Atom as anything other than some twisted form of RSS...) This doesn't make sense to me. We should use the type parameter if anything is changed here. bob wyman