Hi Darren,
Boy, I really blew it on this one. There is actually a fairly clean way
to include human-readable descriptions of a variable. The <variable>
element is defined as "mixed" which means you can put text in the
content. It appears that this isn't documented very well (oops, we'll
have to fix that) but we've been using it for some time. Here's an
example from one of our GRIB datasets:
<variables vocabulary="GRIB-1">
<variable name="Absolute_vorticity" vocabulary_name="Absolute vorticity" units="1/s"
vocabulary_id="1,7,2,41">Absolute vorticity @ isobaric</variable>
<variable name="Accumulated_snow" vocabulary_name="Accumulated snow" units="kg/m^2"
vocabulary_id="1,7,2,65">Accumulated snow @ surface</variable>
<variable name="Albedo" vocabulary_name="Albedo" units="%"
vocabulary_id="1,7,2,84">Albedo @ surface</variable>
...
</variables>
That's probably the best solution for your situation.
Sorry for the round about way of getting here.
Ethan
Ethan Davis wrote:
Hi Darren,
Quite right, you certainly can have multiple <variables> elements.
My mistake, I was misreading the schema.
Sorry about that.
Ethan
Darren Hardy wrote:
Yes, I'm trying to write validate catalog.xml files that will work
with THREDDS tools, but will also be a data source for a digital
library system that we're using.
I'm looking at the 1.0 schema but I don't see that restriction:
http://www.unidata.ucar.edu/schemas/thredds/InvCatalog.1.0.xsd
To test, I grabbed a working catalog:
http://motherlode.ucar.edu:8080/thredds/catalog/nexrad/level2/KVWX/20060809/catalog.xml
Then, I added a second variables section, like so:
<catalog
xmlns="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0
http://www.unidata.ucar.edu/schemas/thredds/InvCatalog.1.0.xsd">
....
<variables vocabulary="DIF">
<variable name="Reflectivity" vocabulary_name="EARTH SCIENCE
> Spectral/Engineering > Radar > Radar Reflectivity"
units="db" />
<variable name="Velocity" vocabulary_name="EARTH SCIENCE >
Spectral/Engineering > Radar > Doppler Velocity" units="m/s" />
<variable name="SpectrumWidth" vocabulary_name="EARTH SCIENCE
> Spectral/Engineering > Radar > Doppler Spectrum Width"
units="m/s" />
</variables>
<variables vocabulary="human-readable">
<variable name="foobar" vocabulary_name="blah blah blah"
units="db" />
</variables>
....
</catalog>
and it passed a Xerces validation of it.
-Darren
--
Darren Hardy
Ph.D. Student
Bren School of Environmental Science & Management
University of California, Santa Barbara
dhardy@xxxxxxxxxxxxx
www.bren.ucsb.edu/~dhardy
On Aug 9, 2006, at 12:23 PM, Ethan Davis wrote:
Hi Darren,
Darren Hardy wrote:
Ok, so I could use two <variables> elements to provide all these
descriptions, like so:
<variables vocabulary="CF-1.0">
<variable name="SST" vocabulary_name="sea_surface_temperature"
units="degC"/>
<!-- Foobar omitted because it does not have a CF standard_name -->
</variables>
<variables vocabulary="human-readable">
<variable name="SST" vocabulary_name="OI Cloud-free SST, blah
blah blah" units="degC"/>
<variable name="Foobar" vocabulary_name="My foobar variable"
units="m" />
</variables>
It looks like the catalog schema provides for multiple variables
elements, so this would work for me.
Currently, the schema only allows one <variables> element per
dataset. The schema defines it like this
<xsd:element ref="variables"/>
and the default for the minOccurs and maxOccurs attributes is one.
So, I don't think a catalog with a <dataset> element that had two
child <variables> elements would validate.
How are you planning on your catalog being used? Are you trying to
feed this information into another system?
Ethan
--Ethan R. Davis Telephone: (303)
497-8155
Software Engineer Fax: (303) 497-8690
UCAR Unidata Program Center E-mail:
edavis@xxxxxxxx
P.O. Box 3000
Boulder, CO 80307-3000
http://www.unidata.ucar.edu/
---------------------------------------------------------------------------
===============================================================================
To unsubscribe thredds, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
===============================================================================
--
Ethan R. Davis Telephone: (303) 497-8155
Software Engineer Fax: (303) 497-8690
UCAR Unidata Program Center E-mail: edavis@xxxxxxxx
P.O. Box 3000
Boulder, CO 80307-3000 http://www.unidata.ucar.edu/
---------------------------------------------------------------------------
==============================================================================
To unsubscribe thredds, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================