The purpose of “custom elements” to enable data providers to define and use domain-specific RSS/Atom elements from within the feed itself without foreknowledge on the part of the user or RSS/Atom viewer. This would enable, for example, a data provider of Datacasting RSS feeds tracking hurricanes to define “Max Wind Speed” as a valid RSS/Atom item element and then use that element within the feed. This would be accomplished through a two-step process: channel-level definitions and item-level use.
A channel level definition would define the name of the element, its core data type and then units the element represents. Ex: <datacasting:customEltDef name="maxWindSpeed" type="float" units="mph" />
This would inform the feed reader that the item “maxWindSpeed” is present within the feed with a floating point number data type and that the physical representation of the data is in MPH. Then, in order for this data type to appear within the feed’s item-level information, the following example is illustrative:
(for RSS): <item> …. <datacasting:customElement name="maxWindSpeed" value="81.2"/> </item>
(for Atom): <entry> … <datacasting:customElement name="maxWindSpeed" value="81.2"/> </entry>
Thus, when viewing the item/entry in the appropriate feed reader, the “maxWindSpeed” element would be displayed along with all the other relevant metadata (e.g. description, author, etc).
Those interested in seeing a working representation of this in action, check out the GHRSST AMSR-E DatacastingRSS feed (http://ghrsst.jpl.nasa.gov/datacasting/AMSRE-L2P-gen.xml) which can be read with the Datacasting Feed Reader (http://datacasting.jpl.nasa.gov)