| Edit | Rename | Changes | History | Upload | Download | Back to Top |
Browse Home Page
Browse Project Page
Browse Wish List
This document is a work-in-progress -- assume errors and omissions! Tell me what to fix. Send comments to Rich Demers
Last updated on June 4, 2003
RSS stands for Really Simple Syndication or RDF Site Summary, depending on which version of the standards you read. Six versions are in current use, plus a variety of modules, corresponding to XML namespaces, have been added to make RSS more descriptive or more functional. This makes it difficult for producers to know how to build RSS files -- too many choices. And it makes it difficult for aggregators because there are too many variations to handle.
This document attempts to resolve this problem for the BottomFeeder aggregator by identifying general rules for handling elements, and by identifying how RSS elements should be individually handled.
| Version | Standard or Module |
|---|---|
| 0.9 | RSS 0.9 |
| 0.91 | RSS 0.91 |
| 0.92 | RSS 0.92. RSS 0.92 is upward compatible with RSS 0.91, with the noted additional elements. |
| 0.93 | RSS 0.93. RSS 0.93 is upward compatible with RSS 0.92 and RSS 0.91, with the noted additional elements. |
| 1.0 | RSS 1.0. RSS 1.0 is upward compatible with RSS 0.9, but with an RDF syntax and extension through modules. |
| content | RSS 1.0 Content Module |
| sy | RSS 1.0 Syndication Module |
| admin | RSS 1.0 Administrative Module |
| 2.0 | RSS 2.0 |
| dc | Dublin Core Module |
| tb | Trackback Module |
| pb | Pingback Module |
| geo | RDF Geographical Module |
| icbm | ICBM Geographical Module |
| wfw | Well Formed Web Comment API Module |
The element normalization table alphabetically lists all metadata elements of all the RSS standards plus those of some important modules. It identifies which metadata elements are equivalent, and specifies how BottomFeeder should use them. This table is deliberately redundant across versions so that equivalences and differences are more visible.
| BottomFeeder Use | Description |
|---|---|
| tbd | to be decided |
| browse | open a browser |
| property | display as a property |
| tree | display in BF tree |
| table | display in BF Item List table |
| banner | display in BF Feed Banner |
| page | display in BF Item pane |
| search | can be included in a search expression |
| feedback | used to provide feedback |
| updating | affects how BF updates the channel |
| map | open browser to mapping website |
| pingback | as defined by Pingback Module |
| trackback | as defined by Trackback Module |
| RSS Element | BottomFeeder Element | |||||
|---|---|---|---|---|---|---|
| Version | Name | In | Identifier | Label | Use | Definition |
| pb | about | item | item_pbAbout | about | pingback | A pingback target URL that was pinged in reference to this item. |
| tb | about | item | item_tbAbout | about | trackback | A trackback URL that was pinged in reference to this item. |
| geo | altitude | channel point | feed_altitude | altitude | tbd | The altitude of the source of the feed. |
| geo | altitude | item point | item_altitude | altitude | tbd | The altitude of the source of the item. |
| 2.0 | author | item | item_creator | creator | property search | Email address of the author of the item. |
| xhtml | body | item | item_description | |||
| 0.92 | category | item | item_category | category | property search | One or more categories that the item belongs to. |
| 0.93 | category | item | item_category | |||
| 2.0 | category | channel | feed_category | category | tbd | One or more categories that the feed belongs to. |
| 2.0 | category | item | item_category | |||
| 0.92 | cloud | channel | feed_cloud | cloud | tbd | A URI to be notified of updates to the feed, that implements a lightweight publish-subscribe protocol for feeds. |
| 0.93 | cloud | channel | feed_cloud | |||
| 2.0 | cloud | channel | feed_cloud | |||
| wfw | comment | item | item_comment | comment | feedback | URI to post an item fragment with a comment on the item. |
| 2.0 | comments | item | item_comment | |||
| dc | contributor | channel | feed_contributor | contributor | property | An entity responsible for making contributions to the content of the feed. |
| dc | contributor | item | item_contributor | contributor | property search | |
| 0.91 | copyright | channel | feed_copyright | copyright | property | Copyright notice for content in the feed. |
| 0.92 | copyright | channel | feed_copyright | |||
| 0.92 | copyright | item | item_copyright | copyright | property search | Copyright notice for content in the item. |
| 0.93 | copyright | channel | feed_copyright | |||
| 0.93 | copyright | item | item_copyright | |||
| 2.0 | copyright | channel | feed_copyright | |||
| 2.0 | copyright | item | item_copyright | |||
| dc | coverage | channel | feed_coverage | coverage | property | The extent or scope of the content of the feed. |
| dc | coverage | item | item_coverage | coverage | property search | The extent or scope of the content of the item. |
| dc | creator | channel | feed_creator | creator | property | An entity primarily responsible for making the content of the feed. |
| dc | creator | item | item_creator | |||
| dc | date | channel | feed_pubDate | publication date | property | A date associated with an event in the life cycle of the feed. |
| dc | date | item | item_pubDate | publication date | property search | A date associated with an event in the life cycle of the item. |
| all | description | channel | feed_description | description | tbd | Text that describes the feed. |
| all | description | item | item_description | description | search page | Text that describes the item. |
| all | description | textInput | feedback_description | feedback | tbd | Text that describes the kind of feedback supported. |
| all | description | image | image_description | description | tbd | Text describing the image. |
| 0.91 | docs | channel | feed_docs | format documents | property | A URL that points to the documentation for the format used in the feed. |
| 0.92 | docs | channel | feed_docs | |||
| 0.93 | docs | channel | feed_docs | |||
| 2.0 | docs | channel | feed_docs | |||
| 0.92 | enclosure | item | item_enclosure | enclosure | property | Describes a media object that is attached to the item. |
| 0.93 | enclosure | item | item_enclosure | |||
| 2.0 | enclosure | item | item_enclosure | |||
| content | encoded | item | item_description | |||
| content | encoding | channel | feed_encoding | encoding | property | A URI representing the encoding of a content:item. |
| content | encoding | item | item_encoding | encoding | property | A URI representing the encoding of a content:item. |
| admin | errorReportsTo | channel | feed_errorReportsTo | report errors to | property | A URI (typically a 'mailto:' URL) for contacting the person or source of the feed. |
| admin | errorReportsTo | item | item_errorReportsTo | report errors to | property | A URI (typically a 'mailto:' URL) for contacting the person or source of the item. |
| 0.93 | expirationDate | item | item_expirationDate | expiration date | property | Indicates when an item is no longer available. |
| content | format | channel | feed_format | format | property | A URI representing the format of a content:item. |
| content | format | item | item_format | |||
| dc | format | channel | feed_format | |||
| dc | format | item | item_format | format | property search | The physical or digital manifestation of the channel or item. |
| 2.0 | generator | channel | feed_generator | generator | property | A string indicating the program used to generate the channel. |
| admin | generatorAgent | channel | feed_generatorAgent | |||
| 2.0 | guid | channel | feed_identifier | identifier | property | A string that uniquely identifies the channel. |
| 2.0 | guid | item | item_identifier | identifier | property search | A string that uniquely identifies the item. |
| 0.91 | height | image | image_height | image height | banner | The height a displayed image should have. |
| 0.92 | height | image | image_height | |||
| 0.93 | height | image | image_height | |||
| 2.0 | height | image | image_height | |||
| dc | identifier | channel | feed_identifier | |||
| dc | identifier | item | item_identifier | |||
| content | item | item | item_description | |||
| 1.0 | items | channel | feed_items | items | tbd | A table of contents of the channel's items. |
| content | items | channel | feed_items | |||
| 0.91 | language | channel | feed_language | language | property | The natural language of the content of the feed. |
| 0.92 | language | channel | feed_language | |||
| 0.93 | language | channel | feed_language | |||
| 2.0 | language | channel | feed_language | |||
| dc | language | channel | feed_language | |||
| dc | language | item | item_language | language | property search | The natural language of the content of the item. |
| 0.91 | lastBuildDate | channel | feed_lastBuildDate | last build date | updating property | The last time the feed was generated. |
| 0.92 | lastBuildDate | channel | feed_lastBuildDate | |||
| 0.93 | lastBuildDate | channel | feed_lastBuildDate | |||
| 2.0 | lastBuildDate | channel | feed_lastBuildDate | |||
| geo | latitude | channel point | feed_latitude | latitude | property map | The latitude of the source of the feed. |
| geo | latitude | item point | item_latitude | latitude | tbd | The latitude of the source of the item. |
| icbm | latitude | channel | feed_latitude | |||
| icbm | latitude | item | item_latitude | |||
| geo | longitude | channel | feed_longitude | property map | ||
| geo | longitude | item | item_longitude | longitude | tbd | |
| icbm | longitude | channel | feed_longitude | longitude | property map | |
| icbm | longitude | item | item_longitude | |||
| all | link | channel | feed_link | link | property browse | The URL of the resource covered by the feed. |
| all | link | item | item_link | link | property page browse | The URL to an item of the resource of the feed. |
| all | link | image | image_link | link | tbd | The URL to an image. |
| all | link | textInput | feedback_link | link | "execute CGI script" | The URL to send feedback to. |
| 0.91 | managingEditor | channel | feed_managingEditor | managing editor | property | Email address for person responsible for editorial content. |
| 0.92 | managingEditor | channel | feed_managingEditor | |||
| 0.93 | managingEditor | channel | feed_managingEditor | |||
| 2.0 | managingEditor | channel | feed_managingEditor | |||
| 0.9 | name | textInput | feedback_name | name | feedback | The name of the text object in the text input area. |
| 0.91 | name | textInput | feedback_name | |||
| 1.0 | name | textInput | feedback_name | |||
| 0.92 | name | textInput | feedback_name | |||
| 0.93 | name | textInput | feedback_name | |||
| 2.0 | name | textInput | feedback_name | |||
| tb | ping | item | item_tbPing | trackback ping | trackback | The item's trackback URL. |
| 0.91 | pubDate | channel | feed_pubDate | property | ||
| 0.92 | pubDate | channel | feed_pubDate | |||
| 0.93 | pubDate | channel | feed_pubDate | |||
| 0.93 | pubDate | item | item_pubDate | property search table | ||
| 2.0 | pubDate | channel | feed_pubDate | |||
| 2.0 | pubDate | item | item_pubDate | |||
| dc | publisher | channel | feed_publisher | publisher | property | An entity responsible for making the feed available. |
| dc | publisher | item | item_publisher | publisher | property search | An entity responsible for making the item available. |
| 0.91 | rating | channel | feed_rating | rating | property | The PICS rating for the channel. |
| 0.92 | rating | channel | feed_rating | |||
| 0.93 | rating | channel | feed_rating | |||
| 2.0 | rating | channel | feed_rating | |||
| dc | relation | channel | feed_relation | relation | property | A reference to a resource related to the feed. |
| dc | relation | item | item_relation | relation | property search | A reference to a resource related to the item. |
| dc | rights | channel | feed_copyright | |||
| dc | rights | item | item_copyright | |||
| pb | server | item | item_pbServer | pingback server | pingback | The URL of the item's pingback server. |
| 0.91 | skipDays | channel | feed_skipDays | skip days | updating | A hint for aggregators telling them which days they can skip. |
| 0.92 | skipDays | channel | feed_skipDays | |||
| 0.93 | skipDays | channel | feed_skipDays | |||
| 2.0 | skipDays | channel | feed_skipDays | |||
| 0.91 | skipHours | channel | feed_skipHours | skip hours | updating | A hint for aggregators telling them which hours they can skip. |
| 0.92 | skipHours | channel | feed_skipHours | |||
| 0.93 | skipHours | channel | feed_skipHours | |||
| 2.0 | skipHours | channel | feed_skipHours | |||
| 0.92 | source | item | item_source | source | property search | The feed that the item came from. |
| 0.93 | source | item | item_source | |||
| 2.0 | source | channel | feed_source | source | property | The resource that the feed came from. |
| 2.0 | source | item | item_source | |||
| dc | source | channel | feed_source | |||
| dc | source | item | item_source | |||
| dc | subject | channel | feed_category | |||
| dc | subject | item | item_category | |||
| pb | target | item | item_pbTarget | pingback target | pingback | The value that should be used as the target URI in a ping. |
| all | title | channel | feed_title | title | property banner | The name of the feed. |
| all | title | item | item_title | title | property search table | The name of the item. |
| all | title | image | image_title | title | tbd | The name of the image. |
| all | title | textInput | feedback_title | title | feedback | The label of the Submit button. |
| dc | title | channel | feed_title | |||
| dc | title | item | item_title | |||
| 2.0 | ttl | channel | feed_ttl | time to live | updating | The number of minutes a feed can be cached before refreshing from the source. |
| dc | type | channel | feed_type | genre | property | The nature or genre of the content of the feed. |
| dc | type | item | item_type | genre | property search | The nature or genre of the content of the item. |
| sy | updateBase | channel | feed_updateBase | update base date | updating | Defines a base date to be used in concert with updatePeriod and updateFrequency to calculate the publishing schedule. |
| sy | updatePeriod | channel | feed_updatePeriod | update period | updating | Describes the period over which the feed format is updated. Acceptable values are: hourly, daily, weekly, monthly, yearly. If omitted, daily is assumed. |
| sy | updateFrequency | channel | feed_updateFrequency | update frequency | updating | Used to describe the frequency of updates in relation to the update period. A positive integer indicates how many times in that period the feed is updated. If omitted a value of 1 is assumed. |
| 0.9 | url | image | image_link | banner | ||
| 1.0 | url | image | image_link | |||
| 0.91 | url | image | image_link | |||
| 0.92 | url | image | image_link | |||
| 0.93 | url | image | image_link | |||
| 2.0 | url | image | image_link | |||
| 0.91 | webMaster | channel | feed_webMaster | web master | property | Email address for person responsible for technical issues relating to the feed. |
| 0.92 | webMaster | channel | feed_webMaster | |||
| 0.93 | webMaster | channel | feed_webMaster | |||
| 2.0 | webMaster | channel | feed_webMaster | |||
| 0.91 | width | image | image_width | image width | banner | The width a displayed image should have. |
| 0.92 | width | image | image_width | |||
| 0.93 | width | image | image_width | |||
| 2.0 | width | image | image_width | |||
One of my reasons for spending so much time on this Metadata Proposal was to get a handle on what kinds of metadata have been included in the various RSS standards and modules. Clearly, a lot of it exists to support complex querys by search engines and syndicators, but that doesn't mean BF should ignore it. BF does a great job of displaying the elements that make sense in BF's three-pane window, and in supporting searches into title, body and category. Now the question is, "What about the rest?" Should BF just ignore them or do we give users a meaningful way to work with them?
The current BF Feed Properties window does a fine job of presenting a limited number of operational properties. It will be extended with additional metadata properties, but something more open-ended is needed for both feed metadata and item metadata. One possibility is a new Feed Properties window and a new Item Properties window -- both along the lines of Outlook Express's Message Properties window. The General tab would provide fixed properties, some of which are editable, similar to the current Feed Properties window. The Details tab would provide a scrollable list of formatted, read-only (but copyable) metadata elements from the feed or an item. And a Source button will provide a text listing extracted from the feed's source.
Something else BF will eventually do with the metadata elements is to allow them to be included in complex queries through the Search Tool, but there is no UI proposal for this yet.
| Edit | Rename | Changes | History | Upload | Download | Back to Top |