[Esip-discovery] Datacasting custom elements proposal
Bob Deen
Bob.Deen at jpl.nasa.gov
Thu Mar 24 21:05:07 EDT 2011
Hey...
Okay glad we're on the same page. As a Datacasting co-I, I'm obviously
more concerned with your context #2. What is the relationship between
these two contexts? How does datacasting relate to ESIP Discovery Feeds?
Resetting the discussion a little... let's consider what happens if we
put the m-a-m in the schema.
I'm far from an expert on schema (and I mean *far*), but it looks like
if we wanted to describe additional m-a-m, say for example
conforms-to-standard, the only option is to put it in an
annotation/appInfo group. So it might look something like this:
<xsd:element name="windSpeed" type="xsd:decimal">
<xsd:annotation>
<xsd:appInfo>
<dc:conforms-to-standard>ISO-whatever</dc:conforms-to-standard>
</xsd:appInfo>
</xsd:annotation>
</xsd:element>
The important point here is that the standard we're conforming to is
specified in the *schema* - i.e. it applies to all instances of this
element being used, just like the name or data type - rather than
something that's put in the actual XML document being described.
What confuses me about this is that it seems like the contents of
appInfo are not defined - any well-formed XML is okay. So can you
impose a schema on the schema, that would define what the m-a-m items in
appInfo are, so the schema itself could validate? Or is appInfo simply
not validateable?
Also, pardon my schema ignorance. But if you have a well-defined
schema, say for datacasting, can that be augmented via additional
schemas (namespaces?) *without* changing the datacasting schema itself
and still be validateable? (which is really the same as the question
above, about having a schema just for the additions to the schema's
schema (did I really just write that sentence??))
In other words if I have a document like this:
<a:foo>test
<a:date>today</a:date>
</a:foo>
which is described by a schema, is it possible to create a schema that
defines an additional element, one which drops in to the middle of the
above, *without* modifying the original schema? When the original
schema was not designed with such in mind? e.g.
<a:foo>test
<a:date>today</a:date>
<b:time>now</b:time>
</a:foo>
Put another way, are schemas subclassable in an object-oriented sense?
The goal is for the above to still be a valid a, with additions
specified by b, without modifying or duplicating a's schema, yet still
be fully validateable.
Thanks...
-Bob
On 3/23/11 1:44 AM, Mattmann, Chris A (388J) wrote:
> Hi Bob,
>
>> Sigh. This is why I hate jumping in to an ongoing thread...
>
> No worries.
>
>>
>> So let's take a step back. My understanding here is that we're trying
>> to collectively decide the best way to describe custom metadata elements
>> in a *casting feed.
>
> Well that's part of it. Moreover, this conversation is related to the development of a specification for an ESIP Discovery Feed:
>
> http://wiki.esipfed.org/index.php/Discovery_OpenSearch_Services
>
> Datacasting is one example that Sean McCleese put forward to think about in the context of this discussion.
>
>>
>> Assuming it is correct, then please allow me to reframe the question.
>> There are two separate but related topics:
>>
>> 1) How to represent the custom metadata itself.
>> 2) How to represent the description of the custom metadata
>> (metadata-about-metadata, or m-a-m).
>>
>> For topic 1, there are two methods that seem viable:
>>
>> 1a) Use the metadata keyword as the actual XML element (or possibly
>> attribute) name.
>> 1b) Use name=xxx value=yyy attributes.
>>
>> For topic 2, there are three potential locations for the m-a-m:
>>
>> 2a) In the XML schema.
>> 2b) In the channel portion of the feed.
>> 2c) In the item itself.
>
> To clarify, 2b/2c don't preclude the inclusion of XMLSchema since it may be inlined too.
>
>>
>> We can probably safely rule out 2c. 2a more or less requires 1a.
>>
>> Is that an accurate restatement of the topic?
>
> Yep and in 2 contexts:
>
> 1. in the context of the ESIP Discovery Feed work
> 2. in the context of the Datacasting project as an example of that.
>
> I think #1 is the more pertinent topic here. Some feel (e.g., based on Ruth's comments) that #2 must conform to #1.
>
> I'm less interested in mandating that then working on #1.
>
> As for #2, since Sean brought up the topic on this list, I thought I'd weigh in.
>
>>>
>>> That's not true. They expect changes all the time. New missions define new elements and extensions of the existing PDS data model.
>>
>> I meant that changes do not occur quickly or often.
>
> Gotcha.
>
>> Of course each
>> mission can be different. But within a mission, once the metadata is
>> defined, it pretty much does not change. There may be updates or errata
>> from time to time, but it's not constantly in flux. I claim that's not
>> the case with us; within one feed I would hope the metadata is augmented
>> often.
>
> Why is that? If datacasting expects to serve Earth science missions, and/or DAACs, etc., then I would say they are in a similar to boat as to PDS -- that is, once the metadata is defined it pretty much does not change. This has been my experience working with e.g., AIRS, MLS, MISR, and TES data, at the least.
>
> Cheers,
> Chris
>
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 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