Daniel Holloway wrote: > > John Caron wrote: > > > heres another strawman, incorporating our latest discussions: > > > > http://www.unidata.ucar.edu/projects/THREDDS/xml/InvCatalog.0.6d.dtd > > > > Recent changes: > > > > .... > > I've used the DTD listed above to create two examples of what > I believe I could return in an XML-based dods-dir response. The > catalogs represent simple directory representations of dods-accessible > data; level1.xml is a higher-level directory containing only subdirs > and level2.xml is one of the subdirs containing the dods-accessible > datafiles. > > Both of these files validate, I get some warnings but mostly > due to style issues, there are no errors. These examples represent > the minimum information that I could provide, there are ways I > could augment this service to provide some of the additional fields > represented in the DTD but this example is meant to illustrate a > minimum set. > > Points to note: > > 1: I'd need to provide 2 service elements, one for > type = DODS, and one for type = Other, where Other represents > the dods-dir service. In many cases there will be both datafiles > and subdirectories in a file system. Do I need to have two > service elements? If so, in the 'Level2.xml' example how do > I indicate which service to use without adding an explicit > access element for each dataset element? In each dataset element you can indicate the service it uses with the serviceName attribute; its value would be the same as the value of the service elements name attribute. > 2: I use 'collection' as a simple filesystem collection, there > may not be any meaningful relation between the files contained > in the directory other than they're accessible via the DODS DAP. > > 3: Am I using 'catalogRef' correctly? The intention is to > indicate another collection level that should only be traversed > at the user's request. catalogRef should reference a THREDDS catalog. Yours is referencing a dods-dir page. I've reworked and attached your examples (with fewer years in level1.xml and fewer example datasets in level2.1985.xml). 1) I changed the catalogRefs in level1.xml to point to the level2.*.xml files. 2) I added datasets in level1.xml that give access to the dods-dir pages. 3) I added a serviceName attribute in the dataset elements in the level2.*.xml files. A few alternatives: 1) You could have just one level. Each year could be a collection that contains the individual datasets. 2) Again, just one level. Each year is a dataset with the dods-dir access and contains sub-datasets for each individual dataset. I'm working on the THREDDS catalog generator tool. Currently I'm working on expanding DODS file servers into THREDDS catalogs. After I get that working I'd like to work on crawling dods-dir pages. So, I'll be wanting to pick your brains on this stuff. Ethan > Dan > > > > > 1) Collections as datasets. Ethan and I think the cleanest way to allow > > "collections as datasets" is to allow nested datasets. Collections remain > > just groups of datasets. A Collection as a dataset is done as a dataset with > > nested datasets. Nested dataset elements (Joe's meaning #2) should imply (in > > some way we need to clarify better) nested datasets (Joe's meaning #1 and > > #3). > > > > 2) allow compound services again. I have talked myself into that these will > > be often useful. > > > > 3) services are now contained within any collection, rather than having to > > be all in the top catalog element. They are scoped by the collection they > > are in (so we no longer use ID, since those are global). This makes a > > catalogRef have (almost) the same semantics as a collection. > > > > 4) a catalog now only has exactly one collection element. (i considered > > eliminating catalog but i think its better this way). > > > > 5) "attribute" changed to "property" (tired of saying "the attribute > > attribute") > > > > 6) access element can specify an absolute URL with a serverType -or- a > > reletive URL with a serverID. > > > > Unless I get a barrage of objections, I will document this in more detail > > ASAP. I will be gone for a week starting next Tuesdy, so Ethan will continue > > the conversation as needed. Hopefully, we can converge soon and take a > > break! I think I have incorporated all the good ideas i have heard in this > > discussion. Have I left out something, or do you think any feature is not > > worth the complexity? -- Ethan R. Davis Telephone: (303) 497-8155 Software Engineer Fax: (303) 497-8690 UCAR Unidata Program Center E-mail: address@hidden P.O. Box 3000 Boulder, CO 80307-3000 http://www.unidata.ucar.edu/
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE catalog SYSTEM "http://www.unidata.ucar.edu/projects/THREDDS/xml/InvCatalog.0.6d.dtd"> <catalog name="htn_sst_decloud" version="0.6d"> <collection name="htn_sst_decloud/"> <service name="URI-DODS" serviceType="DODS" base="http://dods.gso.uri.edu/dods-3.2/nph-dods/"/> <service name="DODSdirectory" serviceType="Other" base="http://dods.gso.uri.edu/dods-3.2/nph-dods/"/> <dataset name="DODS_dir of htn_sst_decloud/1985/" serviceName="DODSdirectory"/> <catalogRef xlink:title="htn_sst_decloud/1985/" xlink:href="./level2.1985.xml"/> <dataset name="DODS_dir of htn_sst_decloud/1986/" serviceName="DODSdirectory"/> <catalogRef xlink:title="htn_sst_decloud/1986/" xlink:href="./level2.1986.xml"/> </collection> </catalog>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE catalog SYSTEM "http://www.unidata.ucar.edu/projects/THREDDS/xml/InvCatalog.0.6d.dtd"> <catalog name="htn_sst_decloud/1985" version="0.6d"> <collection name="htn_sst_decloud/1985"> <service name="URI-DODS" serviceType="DODS" base="http://dods.gso.uri.edu/dods-3.2/nph-dods/"/> <service name="DODSDirectory" serviceType="Other" base="http://dods.gso.uri.edu/dods-3.2/nph-dods/"/> <dataset name="k85001182828.htn_d" serviceName="URI-DODS" urlPath="htn_sst_decloud/1985/k85001182828.htn_d.Z"/> <dataset name="k85001182828.htn_d" serviceName="URI-DODS" urlPath="htn_sst_decloud/1985/k85002181750.htn_d.Z"/> </collection> </catalog>
NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.