I still think it would be good to be able to have to entries in one
feed and be able to state that they are translations of one another.
I don't think that putting them in different feeds is going to cover
all the cases. See below.
On 22 Dec 2005, at 17:45, James M Snell wrote:
One possibility for this in Atom is to provide multiple Atom
documents, each covering their own language. Given that the date
restriction only covers Atom entries within the *same* feed
document, the following would be perfectly acceptable:
<feed xml:lang="de">
...
<entry>
<id>tag:example.org,2005:some_entry</id>
...
</entry>
</feed>
<feed xml:lang="fr">
...
<entry>
<id>tag:example.org,2005:some_entry</id>
...
</entry>
</feed>
[note I change my mind on this half way through the thought]
Ah. I did not read your post carefully enough when posting my
previous reply to James Holderness.
I don't in fact think this is ok. If the date restriction covers
entries inside the same feed (which can be millions of entries long
btw) it has to do so for some good reason. Or else why put the
restriction in there at all? Now that atom is final, and we cannot
change the restriction I think we had better assume it is there for a
very good reason. That will make us all look more intelligent that
otherwise for one.
So my best explanation is that the id at a time identifies one and
only one entry - universally, semantically if you will. If books had
isbn numbers that persisted over editorial changes then this would be
equivalent to our id. By using the isbn number of a book we could
then refer to all the transformations of that book. But it would not
make sense perhaps to have two different books versions published at
the same time, with the same isbn number... (no that makes
sense?!)... by the same publisher... Oops. That looks like the feed
has taken the role of the publisher in the analogy...
(ponders)
Ok. So that would make me change my mind. It should be possible to
have two entries with the same id and the same updated time stamp but
different content in two different feeds. This would suggest that the
feed is really part of the identity of the entry (and that the motto
"it's the entry stupid" is wrong).
To indicate that the feeds were translations of one another, a new
"translation" link rel could be established on the feed level
<feed xml:lang="de">
...
<link rel="translation"
hreflang="fr"
href="http://.../thefeed?lang=fr"
<entry>
<id>tag:example.org,2005:some_entry</id>
...
</entry>
</feed>
<feed xml:lang="fr">
...
<link rel="translation"
hreflang="de"
href="http://.../thefeed?lang=de"
<entry>
<id>tag:example.org,2005:some_entry</id>
...
</entry>
</feed>
I still would suggest it be better to have different ids for the
translations so that they can be put in the same feed. After all, why
not allow that? If I am a publisher and I am publishing books, why
could I not simultaneously publish a book and its translation? It
should be possible then somehow to state that one entry is a
translation of the other. Is there a way to do what I was going
trying to state here in N3. This is really the problem that Simon
Phipps was looking at.
[ a :Feed, :Version;
:title [ :value "Example Feed";
:type "text/plain" ];
:link [ :href <http://example.org/>;
:rel iana:alternate ];
:updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
:author [ :name "John Doe" ];
:id <urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6>;
:entry [ a :Entry;
= _:someid1;
:title [ :value "Atom-Powered Robots Run Amok";
:type "text/plain" ];
:link [ :href <http://example.org/2003/12/13/en/
atom03>;
:rel iana:alternate ];
:id <tag:example.com,2005/en/atom03>;
:updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
:summary [ :value "After a course of integration in
French philosophy,...";
:type "text/plain" ];
ext:translation _:someid2;
];
:entry [ a :Entry;
= _:someid2;
:title [ :value "Des Robot Atomiques se rebellent";
:type "text/plain" ];
:link [ :href <http://example.org/2003/12/13/fr/
atom03>;
:rel iana:alternate ];
:id <tag:example.com,2005/fr/atom03>;
:updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
:summary [ :value "Apres un cours d'integration en
philosophie francaise...";
:type "text/plain" ]
ext:translation _:someid1;
];
] .