GetDomain Operation

Excerpted from OGC 04-021r2 OpenGIS Catalogue Services Specification

1. Introduction
The optional GetDomain operation is used to obtain runtime information about the range of values of a metadata record element or request parameter. The runtime range of values for a property or request parameter is typically much smaller than the value space for that property or parameter based on its static type definition. For example, a property or request parameter defined as a 16bit positive integer in a database may have a value space of 65535 distinct integers but the actual number of distinct values existing in the database may be much smaller. This type of runtime information about the range of values of a property or request parameter is useful for generating user interfaces with meaningful pick lists or for generating query predicates that have a higher chance of actually identifying a result set. It should be noted that the GetDomain operation is a "best-effort" operation. That is to say that a catalogue tries to generate useful information about the specified request parameter or property if it can. It is entirely possible that a catalogue may not be able to determine anything about the values of a property or request parameter in which case an empty response should be generated.

2. XML-Schema

The following XML-Schema fragment defines the XML encoding of the GetRecords operation request:

<xsd:element name="GetDomain" type="csw:GetDomainType"/>
<xsd:complexType name="GetDomainType">
<xsd:complexContent>
<xsd:extension base="csw:RequestBaseType">
<xsd:sequence>
<xsd:choice>
<xsd:element name="PropertyName" type="xsd:QName" />
<xsd:element name="ParameterName" type="xsd:QName" />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>