Subject: Re: Entries in multiple language

From: Henry Story <[email-masked]>
Date: Tue, 4 Oct 2005 14:28:55 +0200

On 28 Sep 2005, at 14:48, Reto Bachmann-Gmür wrote:
>
> [snip lots of interesting stuff, to get to later]

> Note that the first two entries share the same value of atom:updated,
> this is a SHOULD-Level violation of section 4.1.1. I think the spec
> should allow multiple entries with the same timestamp iff they  
> differ by
> language and/or content-type. In multilingual countries like  
> Switzerland
> it is required (as for laws) or at least a matter of political
> correctness (as for press releases) for some publications to be
> published at the same time in all language versions.

Why not publish content negotiated atom feeds, so that the French  
version
of the feed only contains french entries, the German version only German
entries, the Italian one only Italian ones, and the Romansh one only  
Romansh
entries? Then the user would subscribe to the feed serving the  
entries in
the language preferred by the author.

Of course since in Switzerland the German, French and Italian  
representations
of the feed have to appear simultaneously they will each contain  
entries with
identical ids and identical atom:updated time stamps. This would not  
contradict
the atom spec which mentions only that in a particular feed document two
entries with the same id should not have the same updated time stamp.  
It is
something on the other hand that an ontology of atom would have to be  
careful
about (or a database consuming atom feeds), as it would have to take  
into
account the possibility of multiple language versions of the same  
update of
an entry.

Henry Story

> The following two entries are in a feed
>
> <entry xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
>     <title>Asylgesetzrevision - Aus humanitärer Sicht inakzeptabel! 
> </title>
>     <link rel="self" type="text/html" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="text/html" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="enclosure" length="92678" title="Presserohstoff"
>      href="http://www.osar.ch/ 
> 2005/09/27/050927_asylgnr_presserohstoff_"/>
>     <id>http://www.osar.ch/2005/09/27/pm_asylg-revision</id>
>     <updated>2005-09-27T11:00-01:00</updated>
>     <published>2005-09-27T11:00-01:00</published>
>     <author>
>         <name>pro</name>
>         <uri>http://osar.ch/aslum-rights</uri>
>         <email>[email-masked]</email>
>     </author>
>     <summary type="xhtml"
>      xml:base="http://www.osar.ch/">
>         <div xmlns="http://www.w3.org/1999/xhtml">
>           Der Nationalrat hat heute praktisch allen  
> Verschärfungsvorschlägen
> des Ständerates zum Asylgesetz zugestimmt. Der verfassungswidrige
> Nothilfestopp blieb chancenlos. Die SFH ist sehr enttäuscht über den
> Ausgang der Beratung. Das neue Gesetz opfert den Schutz von Verfolgten
> zugunsten von unverhältnismässiger Missbrauchsbekämpfung. Damit ist  
> das
> Referendum unausweichlich.
>         </div>
>     </summary>
> </entry>
>
> <entry xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
>     <generator uri="http://www.example.com/" version="1.0">
>         Example Toolkit
>     </generator>
>     <title>Revision de la loi sur l'asile - Inacceptable sur le plan
> humain</title>
>     <link rel="self" type="text/html" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="text/html" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <!-- Omiting the length attribute as the enclosure is not yet  
> available
> in french, a temporary SHOULD-level violation! -->
>     <link rel="enclosure" title="Documentation"
>      href="http://www.osar.ch/ 
> 2005/09/27/050927_asylgnr_presserohstoff_"/>
>     <id>http://www.osar.ch/2005/09/27/pm_asylg-revision</id>
>     <updated>2005-09-27T11:00-01:00</updated>
>     <published>2005-09-27T11:00-01:00</published>
>     <author>
>         <name>pro</name>
>         <uri>http://osar.ch/aslum-rights</uri>
>         <email>[email-masked]</email>
>     </author>
>     <summary type="xhtml"
>      xml:base="http://www.osar.ch/">
>         <div xmlns="http://www.w3.org/1999/xhtml">
>           Le Conseil national a approuvé aujourd’hui pratiquement  
> toutes les
> aggravations proposées par le Conseil Fédéral dans le cadre de la
> révision de la loi sur l’asile. L’exclusion de l’aide de première
> nécessité, contraire à la Constitution, a été rejetée. L’OSAR se  
> montre
> profondément déçue par l’issue des débats. La nouvelle loi sacrifie la
> protection des personnes persécutées sur l’autel d’un combat
> disproportionné contre les abus. Le référendum apparaît dès lors
> inévitable.
>         </div>
>     </summary>
> </entry>
>
> One hour later an important error in the french version gets fixed
> (s/Conseil Fédéral/Conseil des Etats/)
>
> <entry xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
>     <generator uri="http://www.example.com/" version="1.0">
>         Example Toolkit
>     </generator>
>     <title>Revision de la loi sur l'asile - Inacceptable sur le plan
> humain</title>
>     <link rel="self" type="text/html" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="text/html" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <!-- Omiting the length attribute as the enclosure is not yet  
> available
> in french, a temporary SHOULD-level violation! -->
>     <link rel="enclosure" title="Documentation"
>      href="http://www.osar.ch/ 
> 2005/09/27/050927_asylgnr_presserohstoff_"/>
>     <id>http://www.osar.ch/2005/09/27/pm_asylg-revision</id>
>     <updated>2005-09-27T12:00-01:00</updated>
>     <published>2005-09-27T11:00-01:00</published>
>     <author>
>         <name>pro</name>
>         <uri>http://osar.ch/aslum-rights</uri>
>         <email>[email-masked]</email>
>     </author>
>     <summary type="xhtml"
>      xml:base="http://www.osar.ch/">
>         <div xmlns="http://www.w3.org/1999/xhtml">
>           Le Conseil national a approuvé aujourd’hui pratiquement  
> toutes les
> aggravations proposées par le Conseil des Etats dans le cadre de la
> révision de la loi sur l’asile. L’exclusion de l’aide de première
> nécessité, contraire à la Constitution, a été rejetée. L’OSAR se  
> montre
> profondément déçue par l’issue des débats. La nouvelle loi sacrifie la
> protection des personnes persécutées sur l’autel d’un combat
> disproportionné contre les abus. Le référendum apparaît dès lors
> inévitable.
>         </div>
>     </summary>
> </entry>
>
> One day later the entry becomes some major changes, and is published
> again (in the feed), the new version is currently only available in
> german
>
> <entry xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
>     <generator uri="http://www.example.com/" version="1.0">
>         Example Toolkit
>     </generator>
>     <title>Asylgesetzrevision - Aus humanitärer Sicht fragwürdig</ 
> title>
>     <link rel="self" type="text/html" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="de"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="text/html" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="self" type="application/rdf+n3" hreflang="fr"
>      href="http://www.osar.ch/2005/09/27/pm_asylg-revision"/>
>     <link rel="enclosure" length="92678" title="Presserohstoff"
>      href="http://www.osar.ch/ 
> 2005/09/27/050927_asylgnr_presserohstoff_"/>
>     <id>http://www.osar.ch/2005/09/27/pm_asylg-revision</id>
>     <updated>2005-09-28T11:00-01:00</updated>
>     <published>2005-09-27T11:00-01:00</published>
>     <author>
>         <name>pro</name>
>         <uri>http://osar.ch/aslum-rights</uri>
>         <email>[email-masked]</email>
>     </author>
>     <summary type="xhtml"
>      xml:base="http://www.osar.ch/">
>         <div xmlns="http://www.w3.org/1999/xhtml">
>           Der Nationalrat hat heute praktisch allen  
> Verschärfungsvorschlägen
> des Ständerates zum Asylgesetz zugestimmt. Der verfassungswidrige
> Nothilfestopp blieb chancenlos. Die SFH ist sehr enttäuscht über den
> Ausgang der Beratung. Das neue Gesetz opfert den Schutz von Verfolgten
> zugunsten von unverhältnismässiger Missbrauchsbekämpfung.
>         </div>
>     </summary>
> </entry>
>
>
>
>
>
> reto
>
>
>
>
> 1. http://wymiwyg.org/knobot
> 2. http://www.osar.ch/
>
>

---

From: Zhang Yining <[email-masked]>
Date: Wed, 05 Oct 2005 07:08:35 +0800

Reto Bachmann-Gmür wrote:

>I'm trying to implement Atom support for KnoBot [1], the KnoBot CMS
>supports entries and feeds in multiple language with http-language
>negotiation.
>
>Reading the spec I'm not sure how an entry should be described in
>multiple language, more specifically how updates of a multilingual entry
>should be communicated.
>
>The examples below are based on a real press release published by my
>employer the Swiss Refugee Council [2], the URLs are real and refer to
>the multilingual press release. For the purpose of the example however,
>I made fictional changes to the content.
>
>My questions are:
>- Is this the atom-way of dealing with different language versions?
>  
>
Is it possible that  different languages have different ID's?

>- While the first update does not outdate the original German version
>but fixes a "bug" in the language version the second update oudates the
>existing french versions, how can this be expressed? (the idea of
>publishing an 'empty' french entry seems not an option because because
>of the required element of entry and because of the possibility that the
>entry has been published in other languages by sources the publisher is
>not aware of.)
>
>should allow multiple entries with the same timestamp iff they differ by
>language and/or content-type. In multilingual countries like Switzerland
>	<title>Asylgesetzrevision - Aus humanitärer Sicht inakzeptabel!</title>
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="enclosure" DEFANGED_length="92678" title="Presserohstoff"
>	 href="http://www.osar.ch/2005/09/27/050927_asylgnr_presserohstoff_"/>
>		<p><DEFANGED_div xmlns="http://www.w3.org/1999/xhtml">
>		  Der Nationalrat hat heute praktisch allen Verschärfungsvorschlägen
>zugunsten von unverhältnismässiger Missbrauchsbekämpfung. Damit ist das
>		</p><DEFANGED_div>
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="de"
>	<!-- Omiting the length attribute as the enclosure is not yet available
>	<link DEFANGED_rel="enclosure" title="Documentation"
>	 href="http://www.osar.ch/2005/09/27/050927_asylgnr_presserohstoff_"/>
>		<p><DEFANGED_div xmlns="http://www.w3.org/1999/xhtml">
>		  Le Conseil national a approuvé aujourd’hui pratiquement toutes les
>nécessité, contraire à la Constitution, a été rejetée. L’OSAR se montre
>		</p><DEFANGED_div>
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="de"
>	<!-- Omiting the length attribute as the enclosure is not yet available
>	<link DEFANGED_rel="enclosure" title="Documentation"
>	 href="http://www.osar.ch/2005/09/27/050927_asylgnr_presserohstoff_"/>
>		<p><DEFANGED_div xmlns="http://www.w3.org/1999/xhtml">
>		  Le Conseil national a approuvé aujourd’hui pratiquement toutes les
>nécessité, contraire à la Constitution, a été rejetée. L’OSAR se montre
>		</p><DEFANGED_div>
>	<title>Asylgesetzrevision - Aus humanitärer Sicht fragwürdig</title>
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="de"
>	<link DEFANGED_rel="self" type="text/html" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="self" DEFANGED_type="application/rdf+n3" DEFANGED_hreflang="fr"
>	<link DEFANGED_rel="enclosure" DEFANGED_length="92678" title="Presserohstoff"
>	 href="http://www.osar.ch/2005/09/27/050927_asylgnr_presserohstoff_"/>
>		<p><DEFANGED_div xmlns="http://www.w3.org/1999/xhtml">
>		  Der Nationalrat hat heute praktisch allen Verschärfungsvorschlägen
>		</p><DEFANGED_div>

-- 
---------------------------------------------------------------
Zhang Yining
URL:         http://www.zhangyining.net | http://www.yining.org
mailto:      [email-masked] | [email-masked]
Fingerprint: 25C8 47AE 30D5 4C0D A4BB  8CF2 3C2D 585F A905 F033

---

From: Reto Bachmann-Gmür <[email-masked]>
Date: Wed, 05 Oct 2005 11:02:29 +0200

> account the possibility of multiple language versions of the same  
This would be a solution not to violate the spec in this point. Still I
don't get the intention of the requirement of having different timestamp
for entries with different language or content-type. Thanks to
http-content negotiation abilities delivering only the version of an
entry that best matches the client request is possible and makes
generally sense - but as long as I don't understand the rationale in the
spec it still feels a bit like a hack. 

Also, the HTTP-Accept Header sent by the client when requesting the feed
describes the preferred format of the feed itself and not necessarily of
its entries. So it may be wrong to conclude a preference on the version
of the entries from a header like: "Accept: text/xml, */*; q=0.1".
reto

---

From: Reto Bachmann-Gmür <[email-masked]>
Date: Wed, 05 Oct 2005 11:09:27 +0200

> Is it possible that  different languages have different ID's?
Why not? But the aggregating agent should know how to find out that the
items are equivalent and present only one version to the user. I guess
the spec should tell implementors how to handle this.

reto