Antone Roundy wrote:
> According to the current draft (or at least the implication of
> <head> requiring an <author> unless every <entry> has one),
> <entry> inherits <author> from <feed>. The the example above, it
> would make more sense for the entry's author to be Moe than Joe
>--Moe was the author when the entry was in its original feed, and
> aggregating into this feed shouldn't change that.
You are correct. And, if we ever get to the point of actually trying
to replace the "[[explain inheritance]]" placeholder in the draft with real
language then we'll be able to work these issues out.
Basically, my position will be that an entry should ONLY inherit
from the feed.head of that entry's source feed. If an entry is in a
"foreign" feed, the feed metadata should be understood to apply to the feed
as a container -- not to any externally sourced entries. Thus,
feed.head.copyright feed.head.author, etc. specify attributes of the feed as
a collection and are only inherited by "native" entries that do not
explicitly provide this data.
The easiest way to specify this is to say:
1. Feed metadata is only inherited by entries that do not contain a
head element. Or, you only inherit from the "closest" head element.
2. Entries imported into a feed must contain a head element whose
content should be the feed.head of their source.
I think this is a very simple set of rules...
In your example:
><feed>
> <head><author><name>Joe</name></author></head>
> <entry>
> <head><author><name>Moe</name></author></head>
> ...<!--various stuff NOT including an author element-->...
> </entry>
></feed>
It is clear that the author of the entry is Moe, not Joe. The reason
is that the entry contains a head. Thus, the feed's head can't be used for
inheritance.
By declaring the two simple rules above, we also provide a mechanism
for defining and controlling the "paths of inheritance" for any extension
elements, attributes, etc. which might be defined in the future. This is a
good thing since it means that we can expect more consistent implementation
of inheritance across the board and thus a greatly likelihood of
interoperability.
Note: I would argue that the two rules above should be specified in
a general statement about inheritance. I don't think it would be a good idea
to write them into the description of each inheritable element. Thus, I
wouldn't put those rules in either atom:copyright or atom:author. The rules
should stand on their own or be written into the definition of <head/>.
bob wyman
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Antone Roundy
Sent: Tuesday, November 09, 2004 9:59 PM
To: [EMAIL PROTECTED]
Subject: Re: PaceEntriesAllTheWayDown
On Tuesday, November 9, 2004, at 07:35 PM, Bob Wyman wrote:
>> I presume [the head-in-entry] would supercede the feed's main
>> atom:head
> No. The atom.entry.head conveys completely different information
> then atom.feed.head. One should not supercede the other. Each has a
> role and
> each can be useful simultaneously.
> For instance, I might produce the following feed:
> <feed>
> <head><copyright>Second Feed Corp.</copyright></head>
> <entry>
> <head><copyright>Source Feed Inc.</copyright></head>
> <copyright>Tom Bombadil</copyright>
> ...
> </entry>
> </feed>
> The copyright for this feed, as a collection, is claimed by "Second
> Feed Corp." but the feed contains an entry whose copyright was claimed
> by
> "Tom Bombadil". Tom's entry had been extracted from a feed whose
> copyright
> was claimed by "Source Feed Inc.". All three copyright claims are
> active,
> valid, and "interesting" in at least some contexts.
>
But what about this:
<feed>
<head><author><name>Joe</name></author></head>
<entry>
<head><author><name>Moe</name></author></head>
...<!--various stuff NOT including an author element-->...
</entry>
</feed>
According to the current draft (or at least the implication of <head>
requiring an <author> unless every <entry> has one), <entry> inherits
<author> from <feed>. The the example above, it would make more sense
for the entry's author to be Moe than Joe--Moe was the author when the
entry was in its original feed, and aggregating into into this feed
shouldn't change that.
At a glance, it looks like <copyright> is the only other element that
might get inherited by <entry>:
"The atom:copyright element may be assumed to apply to all entries
contained by the feed except those entries which contain
atom:copyright elements. The atom:copyright element MUST, if
present, be considered to apply to the feed as a collection of
entries."
and later:
"If an atom:entry element does not contain an atom:copyright element,
then the atom:copyright element of the containing atom:feed element's
atom:head element, if present, should be considered to apply to the
entry."
In that case too, clearly the copyright on the entry is not going to
change just because it got aggregated into another feed.