Hi Nathan,
The catalog spec
(http://www.unidata.ucar.edu/projects/THREDDS/tech/catalog/v1.0.2/InvCatalogSpec.html)
says that the "name attribute is required and its value must be unique
for all service elements within the catalog". So, this catalog isn't
quite living up to that standard. However, our software is pretty
lenient on the catalogs it reads. And in this case, the only service
names ever referenced are those of the compound services which do have
unique names. But if they were referenced I'm guessing our code would
find the first service of that name.
When I think about fixing this catalog, I wonder if perhaps the name
attribute should not be required in nested services unless the service
needs to be directly referenced. Hmm, I'll have to think about that a bit.
The XML Schema actually tries to enforce the uniqueness of the service names
<xsd:unique name="datasetID">
<xsd:selector xpath=".//dataset"/>
<xsd:field xpath="@ID"/>
</xsd:unique>
but perhaps I got that wrong when I added it several years back as I am
not getting any errors for this catalog when I validate it.
Ethan
On 7/10/2010 6:54 PM, Nathan Potter wrote:
>
>
> Greetings Ethan et al.,
>
> I have some more thredds:service questions.
>
> The catalog here:
>
> http://motherlode.ucar.edu:8080/thredds/catalog/fmrc/NCEP/GFS/Alaska_191km/catalog.xml
>
>
> Contains two compound service definitions. The compound services each
> contain service elements with the same name:
>
> <service name="fileServices" serviceType="Compound" base="">
> <service name="ncdods" serviceType="OPENDAP" base="/thredds/dodsC/" />
> <service name="HTTPServer" serviceType="HTTPServer"
> base="/thredds/fileServer/" />
> <service name="wcs" serviceType="WCS" base="/thredds/wcs/" />
> <service name="wms" serviceType="WMS" base="/thredds/wms/" />
> <service name="ncss" serviceType="NetcdfSubset"
> base="/thredds/ncss/grid/" />
> <service name="cdmremote" serviceType="CdmRemote"
> base="/thredds/cdmremote/" />
> </service>
> <service name="fmrcServices" serviceType="Compound" base="">
> <service name="ncdods" serviceType="OPENDAP" base="/thredds/dodsC/" />
> <service name="wcs" serviceType="WCS" base="/thredds/wcs/" />
> <service name="wms" serviceType="WMS" base="/thredds/wms/" />
> <service name="ncss" serviceType="NetcdfSubset"
> base="/thredds/ncss/grid/" />
> <service name="cdmremote" serviceType="CdmRemote"
> base="/thredds/cdmremote/" />
> </service>
>
>
> Question:
>
> 1) Is it required that the multiply defined services (ncdods, wcs, wms,
> ncss, cdmremote) be identically defined? As in they must have the same
> values for serviceType and base?
>
> 2) If the answer to question (1) is "No", then how is it resolved is a
> dataset has an access element that refers to one of the multiply defined
> services?
>
> 3) If the answer to question (1) is yes, then is it fair to think of the
> collection of defined services as flat? As in not hierarchical? With
> the compound services referring to their brethren?
>
>
>
> Thanks,
>
>
> Nathan
>
>
> = = =
> Nathan Potter ndp at opendap.org
> OPeNDAP, Inc. +1.541.231.3317
>
>
>
>
> _______________________________________________
> thredds mailing list
> thredds@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe, visit:
> http://www.unidata.ucar.edu/mailing_lists/