John,
I like it.
My suggestions:
1) Don't restrict service types to known values. It is certain that
people will want to add new service types, so the catalog format should
be extensible in this area.
In order to prevent ambiguity (does "dods" equal "DODS" equals
"distributed oceanographic data system"?) perhaps these types could
somehow resolve to the url of the service's home page (e.g.
DODS->http://unidata.ucar.edu/packages/dods). I don't know the most
XML-savvy way to do this but perhaps the known mappings can be included
in the DTD?
2) Same suggestion for metadata types.
3) How about a catalogNS attribute, that can be added to <catalog>,
<collection>, or <dataset>? This would specify a namespace in which
dataset ID's can be considered unique.
For example, if a THREDDS-crawler found two catalogs with
catalogNS="http://cola.iges.org/thredds", and both contained a dataset
with ID="avn0300", then it could consider these two datasets identical.
This would make it possible to uniquely identify datasets in multiple
catalogs (in fact across the entire THREDDS web).
4) COARDS and CF should go on the list of known metadata types.
5) it would probably be clearer if the "DatasetDesc" metadataType was
renamed to "THREDDS".
5) IMHO, the dataType attribute is metadata. Thus it should be part of
the THREDDS/DatasetDesc metadata file, rather than the catalog itself.
6) How about allowing inline dataset metadata, via a <metadata> tag?
Then it would be possible for a site to completely describe its holdings
in a single file if necessary.
- Joe
John Caron wrote:
Proposed changes to the THREDDS catalog format are at:
http://www.unidata.ucar.edu/projects/THREDDS/tech/InvCatalog6.html
The current format is documented at:
http://www.unidata.ucar.edu/projects/THREDDS/tech/InvCatalog5.html
Summary of changes:
a.. add <attribute> elements to collection, dataset, service
b.. rename "server" element to "service".
c.. add new service types: (DODS | ADDE | NetCDF | Catalog | FTP | OpenGIS
| WSDL | Other) .
d.. allow multiple services per dataset: add <access> child element of
dataset, where you list any number of services for that dataset, and add
<serviceList> element so you can define a list of services. "serviceId" now
refers to either a service or a serviceList. Use a serviceList when the same
dataset urlPath can be appended onto all service bases.
e.. generalize <datasetDescRef> element to <metadataRef>, where
"DatasetDesc" is one of several metadata types. proposed types: (DatasetDesc
| DublinCore | DIF | ADN | FGDC | LAS | Other)
f.. add "ID" and "alias" attributes to dataset, so that a dataset can be
an alias to another dataset.
Please send comments to me or to this list.
--
Joe Wielgosz
joew@xxxxxxxxxxxxx / (707)826-2631
---------------------------------------------------
Center for Ocean-Land-Atmosphere Studies (COLA)
Institute for Global Environment and Society (IGES)
http://www.iges.org