2011-08-07 13 views
20

Mam witrynę, której potrzebuję do utworzenia kanału RSS dla. Czy istnieje standardowy format dodawania pól niestandardowych do kanału RSS? Chciałbym na przykład dodać element "location" do moich kanałów RSS. Mam kilku partnerów, którzy chcieliby spożywać kanały i mieć możliwość korzystania z niestandardowych pól specyficznych dla mojej witryny.Rozszerzenie formatu RSS o więcej pól?

W obecnym formacie RSS 2.0, są ujęte pola dostępne z RSS 2.0 specyfikacje:

<?xml version="1.0" encoding="UTF-8" ?> 
<rss version="2.0"> 
    <channel> 
    <title>RSS Example</title> 
    <description>This is an example of an RSS feed</description> 
    <link>http://www.domain.com/link.htm</link> 
    <lastBuildDate>Mon, 28 Aug 2006 11:12:55 -0400 </lastBuildDate> 
    <pubDate>Tue, 29 Aug 2006 09:00:00 -0400</pubDate> 
    <language>en-us</language> 
    <copyright>Copyright 2002, Spartanburg Herald-Journal</copyright> 
    <managingEditor>[email protected] (George Matesky)</managingEditor> 
    <webMaster>[email protected] (Betty Guernsey)</webMaster> 
    <category>Newspapers</category> 
    <generator>MightyInHouse Content System v2.3</generator> 
    <docs>http://blogs.law.harvard.edu/tech/rss</docs> 
    <image> 
     <title>Something</title> 
     <url>http://something.com/image.jpg</url> 
     <link>http://something.com</link> 
     <description>This is something</description> 
    </image> 
    <rating>(PICS-1.1 "http://www.classify.org/safesurf/" l r (SS~~000 1))</rating> 
    <item> 
     <title>Item Example</title> 
     <description>This is an example of an Item</description> 
     <link>http://www.domain.com/link.htm</link> 
     <guid> 1102345</guid> 
     <pubDate>Tue, 29 Aug 2006 09:00:00 -0400</pubDate> 
     <author>[email protected] (Lawyer Boyer)</author> 
     <category>Grateful Dead</category> 
     <comments>http://www.myblog.org/cgi-local/mt/mt-comments.cgi?entry_id=290</comments> 
     <enclosure url="http://www.scripting.com/mp3s/weatherReportSuite.mp3" length="12216320" type="audio/mpeg" /> 
     <source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source> 
    </item> 
    </channel> 
</rss> 

Co jeśli chciałem dodać więcej elementów, aby były dostępne dla partnerów, dzięki czemu można je spożywać i analizowania tak jak im się podoba? W tym samym czasie nie chcę łamać czytników RSS, jeśli dodają do niego mój kanał RSS. Masz pomysł na najlepszy sposób na poradzenie sobie z tym?

Odpowiedz

24

Według RSS 2.0 Specification następnie:

„Kanał powstał w 1999 roku, i starał się być proste, łatwe do zrozumieć formatu, przy stosunkowo skromnych celów Po stało się popularnym formacie. deweloperzy chcieli przedłużyć go przy użyciu modułów zdefiniowanych w przestrzeni nazw, w sposób określony przez W3C.

RSS 2.0 dodaje, że możliwości, następujące proste zasady. Kanał RSS może zawierać elementy nie describ ed na tej stronie, tylko jeśli te elementy są zdefiniowane w przestrzeni nazw. "

Zapoznaj się z artykułem Extending RSS 2.0 With Namespaces, który pokazuje, jak to zrobić. Przykład z artykułu pokazuje autora dodającego niestandardowe pola blogu do kanału:

<rss version="2.0" 
    xmlns="http://backend.userland.com/rss2" 
    xmlns:blogChannel="http://backend.userland.com/blogChannelModule"> 
<channel> 
    <title>Scripting News</title> 
    <link>http://www.scripting.com/</link> 
    <blogChannel:blogRoll>http://radio.weblogs.com/ ... /file.opml</blogChannel:blogRoll> 
    <blogChannel:mySubscriptions>http://ra ... /file.opml</blogChannel:mySubscriptions> 
    <blogChannel:blink>http://inessential.com/</blogChannel:blink> 
    . 
    . 
    . 
</channel> 
</rss> 
3

Możesz rozszerzyć wiadomość RSS o dowolne elementy, a sposób, w jaki czytniki RSS odróżniają standardowe elementy od rozszerzeń, polega na tym, że rozszerzenia znajdują się w przestrzeni nazw. W ten sposób standardowy czytnik może z łatwością odczytać standardowe elementy i zignorować rozszerzenia.

http://cyber.law.harvard.edu/rss/rss.html#extendingRss:

Kanał RSS może zawierać elementy nie opisane na tej stronie, tylko wtedy, gdy elementy te są zdefiniowane w przestrzeni nazw.

Powiązane problemy