[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

thredds catalogs, new version



After trying to implement nested datasets in a Java object model, ive come
to the conclusion that the distinction between collections and datasets
complicates life too much. So, here is yet another version of the catalog
DTD. I hope this is the last major change to subject you to.

http://www.unidata.ucar.edu/projects/THREDDS/xml/InvCatalog.0.6.dtd


specification at

http://www.unidata.ucar.edu/projects/THREDDS/tech/InvCatalogSpecification2.h
tml


I have an alpha version Java library implemented, code will be available in
a few days, javadoc is at:

http://www.unidata.ucar.edu/projects/THREDDS/tech/catalog/javadoc/


comments are requested.
<!-- see http://www.unidata.ucar.edu/thredds -->
<!ENTITY % DataType "Grid | Image | Station">
<!ENTITY % ServiceType "DODS | ADDE | NetCDF | Catalog | FTP | WMS | WFS | WCS 
| WSDL | Compound | Other">
<!ENTITY % MetadataType "THREDDS | Aggregation | DublinCore | DIF | ADN | FGDC 
| LAS | Other">
<!-- top-level element -->
<!ELEMENT catalog (dataset)>
<!ATTLIST catalog
        name CDATA #REQUIRED
        version CDATA #REQUIRED
        xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink";
        xmlns CDATA #FIXED "http://www.unidata.ucar.edu/thredds";
>
<!-- only service type Compound can have nested services-->
<!ELEMENT service (property*, service*)>
<!ATTLIST service
        name CDATA #REQUIRED
        serviceType (%ServiceType;) #REQUIRED
        base CDATA #REQUIRED
        suffix CDATA #IMPLIED
>
<!-- use access elements when there are multiple services -->
<!ELEMENT dataset (service*, (documentation | metadata | property)*,  access*, 
(dataset | catalogRef)*)>
<!ATTLIST dataset
        name CDATA #REQUIRED
        dataType (%DataType;) #IMPLIED
        authority CDATA #IMPLIED
        ID ID #IMPLIED
        alias IDREF #IMPLIED
        serviceName CDATA #IMPLIED
        urlPath CDATA #IMPLIED
>
<!-- use serviceID and relative URL -OR- serviceType and absolute URL -->
<!ELEMENT access EMPTY>
<!ATTLIST access
        urlPath CDATA #REQUIRED
        serviceName CDATA #IMPLIED
        serviceType (%ServiceType;) #IMPLIED
>
<!-- display this info to the user during the selection process -->
<!ELEMENT documentation (#PCDATA)>
<!ATTLIST documentation
        xlink:type (simple) #FIXED "simple"
        xlink:href CDATA #IMPLIED
        xlink:title CDATA #IMPLIED
        xlink:show (new | replace | embed) "new"
>
<!-- these are optional structured metadata, not typically shown to the user in 
the dataset chooser -->
<!ELEMENT metadata ANY>
<!ATTLIST metadata
        xlink:type (simple) #FIXED "simple"
        xlink:href CDATA #IMPLIED
        metadataType (%MetadataType;) #REQUIRED
>
<!-- external catalog gets added as a collection -->
<!ELEMENT catalogRef (documentation*) >
<!ATTLIST catalogRef
        xlink:type (simple) #FIXED "simple"
        xlink:href CDATA #REQUIRED
        xlink:title CDATA #REQUIRED
>
<!-- arbitrary name/value pairs to associate with the dataset, collection or 
service -->
<!ELEMENT property EMPTY>
<!ATTLIST property
        name CDATA #REQUIRED
        value CDATA #REQUIRED
>

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.