As catalogs get more complicated, you should check that you haven’t made any errors in your XML syntax. There are three components to checking for catalog:

  1. Is the XML well-formed?
  2. Is it valid against the catalog schema?
  3. Does it have everything it needs to be read by a THREDDS client?

You can check well-formedness using online tools. If you also want to check validity in those tools, you will need to declare the catalog schema location like so:

<catalog name="Validation" 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
    https://schemas.unidata.ucar.edu/thredds/InvCatalog.1.0.6.xsd">
  ...
</catalog>
  • The xmlns:xsi attribute declares the schema-instance namespace. Just copy it exactly as you see it here.
  • The xsi:schemaLocation attribute tells your XML validation tool where to find the THREDDS XML schema document. Just copy it exactly as you see them here.

Or, you can simply use the THREDDS Catalog Validation service to check all three components at once. This service already knows where the schemas are located, so it’s not necessary to add that information to the catalog; you only need it if you want to do your own validation.