Provides support for the OGC Catalog Specification.

This package provides the base interfaces needed to support the concept of a {@linkplain org.opengis.catalog.Catalog catalog} of {@linkplain org.opengis.catalog.CatalogEntry catalog entries}. Catalog access is granted by both an iterator, and a query method. The query language is not specified by this api, although the specification expects it to perform similarly to the Simple Feature.

> NOTE:
> The specification Catalog Services 1.1.1 does not specify the methods of the {@link org.opengis.catalog.CatalogEntry} interface. The methods in this interface were inferred from reading the abstract catalog specification: Catalog Services section 3.1.2.

### Representation of Metadata

We could not decide on a unified approach for the representation of Metadata. The choices were between ISO 19115, ISO 19119 and the Dublin core. Our feedback for implementing ISO 19115 is described in the {@link org.opengis.metadata} package.

Our insight came when examining the Catalog Services 1.1.1 document - in the abstract catalog specification: CatalogServices section 3.1.2. By making real classes out of these definitions we have been able to programatically declare the api used by catalog services {@link org.opengis.catalog.QueryDefinition} to access metadata without being tied to a specific Metadata standard.

Specifically the following definitions:

- 4.6 Metadata dataset - Metadata describing a specific dataset [ISO 19101]
- 4.7 Metadata entity - Group of metadata elements and other metadata entities describing the same aspect of data.
  - NOTE 1: A metadata entity may contain one or more metadata entities.
  - NOTE 2: A metadata is equivalent to a class in UML terminology [ISO 19101].
- 4.8 Metadata schema - Conceptual schema describing metadata.
  - NOTE ISO 19115 describes a standard for a metadata schema [ISO 19101]

From these definitions we have formalized the following:

- {@link org.opengis.catalog.MetadataEntity}
- {@link org.opengis.catalog.MetadataEntity.EntityType}
- {@link org.opengis.catalog.MetadataEntity.Element}

This abstraction allows our implementation of ISO 19115 ({@link org.opengis.metadata}) to exist independently of {@link org.opengis.catalog.Catalog}, {@link org.opengis.catalog.CatalogEntry}, {@link org.opengis.catalog.QueryDefinition} and {@link org.opengis.catalog.QueryResult}.

### Package Specification

This package is based on the following specifications:

- Topic 13 - Catalog Services version: 4 (Abstract Specification)
- OpenGISŪ Catalogue Services Specification version: 1.1.1 (Implementation Specification)

Since the time of creation the following has been released:

- OpenGISŪ Catalogue Services Specification version: 2.0 (Implementation Specification)

Q: Is practice of creating objects for MetadataEntity, Element and EntityType not in the spirit of the specification, if so can they recommend an alternative? One alternative would be to port the CORBA IDL from v2. Problem is InsertMetadata/UpdateMetadata using "any payload".

Q: Does the Catalog v2 section 10: HTTP protocol binding replace the Web Registry Service draft document? Or should we expect any progress on that front?

### Related Documentation

- {@link org.opengis.metadata} - ISO 19115 (TC211) Metadata specification
- {@link org.opengis.filter} - defines a query language similar in scope to QueryDefinition