Wednesday, August 10, 2005, 1:34:44 AM, Tim Bray wrote:

> The problem could hypothetically arise when someone extracts
> properties from the foreign markup, stuffs them in a tuple store, and
> then when the software that knows what to do with comes along and  
> retrieves it and recognizes the relative URI and can't do much  
> because the base URI is lost.

I expect that many Atom Protocol server implementations will work this
way.

> So... IF you know how to handle some particular extension, AND IF you
> expect to handle it when the extension data has been ripped out of  
> the feed and stored somewhere without any context, THEN you shouldn't
> use a relative reference.

The 1st/2nd "you"s are likely to be a different person from the 3rd
"you". You seem to be saying: "if the consumer knows how to handle
some particular extension [...] then the producer shouldn't use a
relative reference". How does the producer know what the consumer will
do?

(Well of course that is the job of the specification, which is my
point here).

> Alternatively, IF you want to empower extensions to process they
> data they understand, AND IF you want to rip that data out of the
> feed and store it somewhere, THEN it would be smart to provide
> software an interface to retrieve context, such as feed-level
> metadata and the base URI.

It sounds like you disagree with the rationale for Simple vs
Structured extensions in [1]. So can I ask you why you think Atom
defines Simple and Structured Extensions, when according to your
understanding they need to be processed in exactly the seem way
(though simple aren't language sensitive - which seems a bit odd if
you believe that).

I think that the second paragraph of 6.2.1 is pretty clear about what
Simple Extensions mean (the value range of the property is character
data, not character data plus base URI and language context), and that
base URIs would be irrelevant to their processing, but I thought that
it might need some clarification as once people start using them for
URIs there is a risk that people could start using them for relative
refs, given the lack of explanation or rationale for their purpose.

> Sounds like implementor's-guide material to me.

Alternative 1 is not implementable, and alternative 2 suggests
processing that is not compatible with the intended purpose of Simple
Extension elements.

I wasn't entirely convinced that we needed to add this clarification,
but now I am sure that we do.  If there is a belief that
implementations SHOULD preserve the base uri of Simple Extensions then
we need to indicate that this is not true, else Simple Extensions
will be broken from the start.

[1] http://www.imc.org/atom-syntax/mail-archive/msg16643.html

-- 
Dave

Reply via email to