Étendre le format RSS avec plus de champs?

j'ai un site web pour lequel je dois créer un flux RSS. Existe-t-il un format standard pour ajouter des champs personnalisés à un flux RSS? J'aimerais ajouter un élément" emplacement " à mes fils RSS par exemple. J'ai quelques partenaires qui souhaitent consommer des aliments et être en mesure d'utiliser les champs personnalisés spécifique à mon site web.

pour le format RSS 2.0 actuel, ce sont les champs inclus disponibles à partir des spécifications RSS 2.0:

<?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>geo@herald.com (George Matesky)</managingEditor>
    <webMaster>betty@herald.com (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>lawyer@boyer.net (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>

Ce que si je voulais ajouter plus d'éléments pour les rendre disponibles pour les partenaires afin qu'ils puissent les consommer et les analyser à leur gré? En même temps, Je ne veux pas casser les lecteurs RSS s'ils y ajoutent mon fil RSS. Aucune idée sur la meilleure façon de gérer cela?

21
demandé sur TruMan1 2011-08-07 18:40:00

2 réponses

Selon spécification RSS 2.0 puis:

"RSS origine en 1999, et s'est efforcé d'être un simple, facile à comprendre le format relativement modeste objectifs. Après il est devenu un format populaire, les développeurs ont voulu l'étendre en utilisant des modules définis dans les espaces de noms, comme spécifié par le W3C.

RSS 2.0 ajoute cette capacité, en suivant une règle simple. Un fil RSS peut contiennent des éléments non décrits sur cette page, uniquement si ces élément sont définis dans un espace de noms."

lire l'article extension RSS 2.0 avec Namespaces qui vous montre comment faire. Un exemple de l'article montre l'auteur ajoutant quelques champs de blog personnalisé à leur fil:

 <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>
26
répondu Dan Diplo 2011-08-07 14:48:38

vous pouvez étendre le message RSS avec tous les éléments que vous voulez, et la façon dont les lecteurs RSS distinguent les éléments standard des extensions est que les extensions sont dans un espace de noms. De cette façon, un lecteur standard peut facilement lire les éléments standard et ignorer les extensions.

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

un fil RSS peut contenir des éléments non décrits sur cette page, seulement si ces éléments sont défini dans un espace de noms.

5
répondu Guffa 2011-08-07 14:47:49