[Esip-discovery] Datacasting custom elements proposal

Mccleese, Sean W (388A) sean.w.mccleese at jpl.nasa.gov
Mon Mar 14 21:48:35 EDT 2011


Hey Chris,

Great question!

The reason we went with the element name in the tag attributes instead of the tag name itself is that a lot of RSS/Atom parsers will look for "understood" tags by their tag name and, in finding one that's unrecognized, will simply move on to the next tag. We didn't want the "datacasting" namespace to, as a default action, encompass all possible tag names (with possible conflicts, etc, arising from that).

By putting it in the attributes for the tag itself, we can override the "ignore if unrecognized" requirement for the RSS spec, which is where the channel-level definitions come into play. That also helps with the datatype / units declarations as well. 

Hope that makes sense?

-Sean


On Mar 14, 2011, at 6:10 PM, "Mattmann, Chris A (388J)" <chris.a.mattmann at jpl.nasa.gov> wrote:

> Hi Sean,
> 
> Quick question:
> 
> Why not just declare:
> 
> <item>...
> <datacasting:maxWinSpeed>81.2</datacasting:maxWinSpeed>
> </item>
> 
> Cheers,
> Chris
> 
> On Mar 14, 2011, at 2:19 PM, Mccleese, Sean W (388A) wrote:
> 
>> As part of Andrew Bingham’s Datacasting team, I would like to put forth a proposal for DCP-2 (or beyond) to add support for custom elements in Datacasting (or *casting) RSS & Atom feeds.
>> 
>> 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).
>> 
>> I’ll add this to the Discovery Change Proposals page, but I wanted to make sure to inform the list about this proposed idea. If you’re 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)
>> 
>> Thanks,
>> -Sean McClese
>> _______________________________________________
>> Esip-discovery mailing list
>> Esip-discovery at lists.esipfed.org
>> http://www.lists.esipfed.org/mailman/listinfo/esip-discovery
> 
> 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Chris Mattmann, Ph.D.
> Senior Computer Scientist
> NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
> Office: 171-266B, Mailstop: 171-246
> Email: chris.a.mattmann at nasa.gov
> WWW:   http://sunset.usc.edu/~mattmann/
> Phone: +1 (818) 354-8810
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Adjunct Assistant Professor, Computer Science Department
> University of Southern California, Los Angeles, CA 90089 USA
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 


More information about the Esip-discovery mailing list