2009-07-08 17 views
4

Verwenden den Kategorie-Tages in RSS 2.0:Verknüpfung mit dem vollständigen Kategorieseite mit dem Kategorie-Tag in RSS 2.0

<category domain="http://mysite.example.com/tags"> 
    Science and Technology 
</category> 

Wie würde ich eine zusätzliche URL der Seite zur Verfügung stellen, die alle Elemente in dieser Kategorie zeigt?

Da die Spezifikation dieser nicht erscheint Abdeckung, wäre es sicher ein neues Attribut in meinem eigenen Namensraum zu erfinden, wie folgt aus:

<category domain="http://mysite.example.com/tags" 
    myns:category-url="http://mysite.example.com/tags/scitech/"> 
    Science and Technology 
</category> 

Dann am oberen Rand des Dokuments:

<rss version="2.0" xmlns:myns="http://mysite.example.com/namespace/"> 

Ist es in Ordnung, RSS auf diese Weise zu erweitern? Werden Aggregatoren oder Implementierungen in freier Wildbahn wahrscheinlich durchbrechen? Oder gibt es einen vorhandenen Mechanismus zum Verknüpfen mit einer Kategorieseite, die ich stattdessen verwenden sollte?

Ich bin interessiert zu sehen, wie dies in Atom getan würde, aber ich brauche eine Lösung für RSS 2.0.

Antwort

1

ausdrücklich in der Spezifikation geschrieben Wie Sie im Kommentar bemerken, heißt es nur "Ein RSS-Feed kann Elemente enthalten, die nicht auf dieser Seite beschrieben sind, nur wenn diese Elemente in einem Namensraum definiert sind. "", sagt aber nichts über neue Attribute, also würde ich denken, dass es zumindest gegen den Geist der Spezifikation ist, dies zu tun.

Mein Verständnis ist, dass alles, was auf dieser Seite beschrieben wird, als eingefroren betrachtet werden sollte, mit Ausnahme der Fähigkeit, namespaced Elemente hinzuzufügen.

Daher denke ich, dass die eine Möglichkeit, was Sie hinzufügen, ein neues Element hinzufügen muss, die einen Inhalt mit einer Kategorie und ein Attribut mit der URL zu der Seite, die alle Elemente in dieser Kategorie zeigt :

<rss version="2.0" xmlns:myns="http://mysite.example.com/namespace/"> 
<category domain="http://mysite.example.com/tags"> 
    Science and Technology 
</category> 
<myns:category-url url="http://mysite.example.com/tags/scitech/"> 
    Science and Technology 
</myns:category-url> 

es ist nicht schön, aber kann es

+1

http://validator.w3.org/feed/docs/warning/UseOfExtensionAttr.html - Es stellt sich heraus, dass der RSS Advisory Board entschieden hat, dass das Hinzufügen eigener namespaced Attribute zu bestehenden Elementen in Ordnung ist (wie Sie darauf hingewiesen haben, dass die Spezifikation hier vage ist)), aber ihre Empfehlungen wurden nie aus seltsamen politischen Gründen in die offizielle Spezifikation integriert. –

+0

Die Verwendung des Domain-Attributs ist falsch, weil es einen allgemeinen Namespace für Ihr gesamtes Kategorieschema bereitstellen soll. Wenn Sie es so verwenden, bedeutet dies, dass Sie für jedes Ihrer Tags ein völlig separates Taxonomie-Schema haben. –

+0

yep du bist hier richtig, ich bearbeitet, um den Vorschlag zu entfernen, um "das Domain-Attribut der Kategorie" zu verwenden – LucaM

1

Ja, sollte es absolut sicher sein, mit einem Namensraum zu erweitern - das heißt, immerhin bei http://cyber.law.harvard.edu/rss/rss.html#extendingRss

+0

Es sagt "RSS 2.0 fügt diese Fähigkeit hinzu, einer einfachen Regel folgend. Ein RSS-Feed kann Elemente enthalten, die nicht auf dieser Seite beschrieben werden, nur wenn diese Elemente in einem Namespace definiert sind." - Aber ich füge meine eigenen Namespaced-Attribute zu einem bestehenden RSS-Element hinzu, daher ist nicht klar, ob dies erwünscht ist oder nicht. –

0

http://validator.w3.org/feed/docs/warning/UseOfExtensionAttr.html

RSS 2.0-Spezifikation ist unklar, arbeiten, ob Sie Ihre eigenen Namespace-Attribute zu vorhandenen RSS-Elemente hinzufügen können. Der RSS-Beirat entschied, dass Sie können, aber RSS-Politik bedeutete, dass ihre Empfehlungen nie zur offiziellen Spezifikation hinzugefügt wurden.

Ich bin immer noch nicht sicher, was der beste Weg zur Angabe "dieser Kategorie hat diese URL im Web" ist, in RSS oder Atom.