CSW Major Operations (ISO Profile)

This topic covers loading and querying CSW data, and provides examples of requests and responses for various operations. It applies to using CSW data using the ISO record type.

If your CSW data uses the ISO profile, the recordType attribute for each record will contain the value 2.

When you call the SDO_CSW.INITIALIZE_CSW procedure, you specify the record type for your CSW data in the csw_xsd_id parameter value (1 for DCMI, 2 for ISO).

The view USER_SDO_CSW_SERVICE_INFO contains CSW metadata for the supported CSW recordType, as explained in Database Schema and Objects for CSW.

Loading CSW 2.0.2 Data (ISO)

After the CSW ISO Profile table is created when you initialize the CSW ISO Profile schema, you can start loading your CSW 2.0.2 data (ISO 19139 records) into this table.

Oracle Spatial provides a client-side loader for this purpose: $ORACLE_HOME/md/jlib/sdocswloader.jar (assuming the default Spatial installation directory of $ORACLE_HOME/md):

The sdocswloader.jar package can take large files containing CSW ISO Profile XML records and load them into the CSW ISO Profile table. For example, assume that you have three XML files, csw_records1.txt, csw_records2.txt, and csw_records3.txt, which contain many ISO records. Follow these steps to load them into the CSW ISO Profile table.

  1. Create an XML configuration file named sdo_csw_demo.xml (or any other name as you wish), as in the following example.

    <?xml version='1.0' encoding='windows-1252'?>
    <Connection>
       <Driver>Thin</Driver>
       <Hostname>localhost</Hostname>
       <Port>52504</Port>
       <ServiceName>SERVICENAME </ServiceName>
       <ServerMode>DEDICATED</ServerMode>
       <Schema>MDMETT</Schema>
       <Password>MDMETT</Password>
       <!-- Requires access to V$MYSTAT and V$SESS_TIME_MODEL -->
       <logServerStats>true</logServerStats>
       <clientSideEncoding>true</clientSideEncoding>
       <!-- SAX : for Splitting Large XML Files into smaller Files -->
       <!-- FOLDER : for walking a client side directory tree loading Files -->
       <mode>SAX</mode>
       <Pool>false</Pool>
       <Namespaces
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:dct="http://purl.org/dc/terms/"
            xmlns:gml="http://www.opengis.net/gml"
            xmlns:ogc="http://www.opengis.net/ogc"
            xmlns:ows="http://www.opengis.net/ows"
            xmlns:xi="http://www.w3.org/2001/XInclude"
            xmlns:xlink="http://www.w3.org/1999/xlink"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns:xsd=“http://www.w3.org/2001/XMLSchema"
            xmlns:gmi="http://www.isotc211.org/2005/gmi"
            xmlns:gco="http://www.isotc211.org/2005/gco"
            xmlns:gmx="http://www.isotc211.org/2005/gmx"
            xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
            xmlns:gmd="http://www.isotc211.org/2005/gmd"
            xmlns:srv="http://www.isotc211.org/2005/srv"
       />
       <!-- List of Files to be processed -->
       <FileList>
       <!-- replace the following with full file path names for the records -->
          <File>csw_records1.txt</File>
          <File>csw_records2.txt</File>
          <File>csw_records3.txt</File>
       </FileList>
       <Tables>
          <Table name="SDO_CSW_DEMO_TABLE" path="/root/gmd:MD_Metadata">
             <Column name="XML_COLUMN" path="/root/gmd:MD_Metadata" type="xml"/>
             <Column name="METADATA_ID" path="/root/gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString" type="string"/>
          </Table>
       </Tables>
       <!-- Each Writer process will commit its workload after this number of inserts -->
       <CommitCharge>100</CommitCharge>
       <!-- Number of Concurrent Writer Threads -->
       <ThreadCount>10</ThreadCount>
       <!—replace the following with full file path name for the logger -->
       <LogFileName>csw_records.log</LogFileName>
       <ErrorTable>CSW_ERROR_TABLE_NAME</ErrorTable>
       <schemaInstancePrefix>xsi</schemaInstancePrefix>
       <schemaLocation/>
       <noNamespaceSchemaLocation/>
    </Connection>

    This configuration file allows the loader to process the ISO19139 records with ISO19139 namespaces.

    The username parameter in this file refers to the CSW ISO Profile schema name.

    The Table name is the CSW ISO Profile table that you would like to populate; the first Column name is the column where you have the records to be stored as Oracle XMLType objects in the CSW ISO Profile table, and the second Column name is the column where you want the record ID values to be stored in the CSW ISO Profile table.

    Note:

    If the table and the log directory do not exist, do the following before running XMLLoader (in the next major step):

    1. Create a CSW_ERROR_TABLE_NAME table in the CSW ISO Profile schema, to contain a log of errors. For example: CREATE TABLE CSW_ERROR_TABLE of XMLTYPE;

    2. Create a directory named log where the csw_records.log file will be created.

  2. Create a runXMLLoader.sh (for Linux) or runXMLLoader.bat (for Windows) file, as shown in the following examples:

    • Linux: runXMLLoader.sh

      PATH=$ORACLE_HOME/jdk/bin:$PATH
      java -Xmx2048M -classpath "$ORACLE_HOME/md/jlib/sdocswloader.jar:$ORACLE_HOME/lib/xmlparserv2.jar:$ORACLE_HOME/jdbc/lib/ojdbc8.jar:$ORACLE_HOME/rdbms/jlib/xdb8.jar" -Doracle.spatial.xmlloader.ConnectionParameters= /mydir/sdo_csw_demo.xml oracle.spatial.xmlloader.saxLoader.XMLLoader
    • Windows:runXMLLoader.bat

      set ORACLE_HOME=e:\app\oracle\product\12.2.0\dbhome_1
      set PATH=%ORACLE_HOME%\jdk\bin;%PATH%
      java -cp %CD%\XMLLoader.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8.jar;%ORACLE_HOME%\jdbc\lib\ojdbc8dms.jar;%ORACLE_HOME%\rdbms\jlib\xdb8.jar -Doracle.spatial.xmlloader.ConnectionParameters=%1 oracle.spatial.xmlloader.saxLoader.XMLLoader

    These files use the sdo_csw_demo.xml file, and they assume JDK 1.8. You may need to modify the files if you have another Java environment, and you may need to make other changes to the configuration file and related script files for your system environment.

In this example scenario, the CSW table is populated with the records in the three CSW 2.0.2 ISO Profile data files when runXMLLoader.sh or runXMLLoader.bat is run.

Querying CSW 2.0.2 Data (ISO)

For querying CSW ISO Profile data, the GetCapabilities, DescribeRercord, and GetRecords CSW requests are supported, using the queryable elements described in this topic.

The following sample queries are POST requests, the first using csw:ElementName elements and the second using the csw:ElementSetName element. In each case the ogc:PropertyName element is used to specify a property to query within an ogc:Filter element within a csw:Constraint element.

Sample Request 1: Specifying ElementName elements in the query

<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:srv="http://www.isotc211.org/2005/srv"
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                resultType="results"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementName>gmd:identifier</csw:ElementName>
      <csw:ElementName>gmd:type</csw:ElementName>
      <csw:ElementName>gmd:date</csw:ElementName>
      <csw:ElementName>gmd:abstract</csw:ElementName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*">
               <ogc:PropertyName>gmd:abstract</ogc:PropertyName>
               <ogc:Literal>*Oracle CSW*</ogc:Literal>
            </ogc:PropertyIsLike>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

Sample Request 2: Specifying an ElementSetName element in the query

<csw:GetRecords xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:srv="http://www.isotc211.org/2005/srv"
               xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                resultType="results"
                outputFormat="application/xml"
                outputSchema="http://www.isotc211.org/2005/gmd"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementSetName>brief</csw:ElementSetName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:PropertyIsEqualTo>
               <ogc:PropertyName>gmd:title</ogc:PropertyName>
               <ogc:Literal>Oracle CSW 2.0.2 Service Record</ogc:Literal>
            </ogc:PropertyIsEqualTo>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

The preceding sample requests showed simple queries using queryable elements. Note that the csw:Constraint element can have a more complex structure, such as with with ogc:And connectors. See OGC CSW 2.0.2 Specification OGC 07-045 for more details.

The queryable elements that can be used in a csw:Constraint element with a cws:ElementName or csw:ElementSetName element can be grouped into the following modes:

The csw:ElementySetName element specifies a mode (brief, summary, comprehensive, or full); the csw:ElementName element does not specify a mode, but just the name of a queryable element. In Sample Request 2, the ElementSetName element specifies the brief mode (<csw:ElementSetName>**brief**</csw:ElementSetName>).

The Brief mode queryable elements are the following:

gmd:title
gmd:graphicOverview
gmd:identifier
gmd:type
ows:BoundingBox
srv:serviceType
srv:serviceTypeVersion

The Summary mode queryable elements are the following:

gmd:abstract
gmd:characterSet
gmd:creator
gmd:contributor
srv:couplingType
ows:BoundingBox
gmd:format
gmd:formatVersion
gmd:graphicOverview
gmd:hierarchyLevelName
gmd:fileIdentifier (or identifier)
gmd:language
gmd:lineage
gmd:metadataCharacterSet
gmd:metadataStandardName
gmd:metadataStandardVersion
gmd:modified
gmd:onlineResource
gmd:parentIdentifier
gmd:publisher
gmd:resourceIdentifier
gmd:resourceLanguage
gmd:referenceSystem)
gmd:revisionDate
gmd:rights
gmd:spatialResolution
gmd:spatialRepresentationType
gmd:title
gmd:topicCategory (Certain values allowed)
gmd:type (same as hierarchyLevel)
srv:serviceOperation
srv:serviceType
srv:serviceTypeVersion

The Oracle-specific Comprehensive mode queryable elements include all of the Summary mode elements, plus the following elements:

gmd:alternateTitle
gmd:code (related to gmd:referenceSystem)
gmd:codeSpace (related to gmd:referenceSystem)
gmd:creationDate (related to gmd:revisionDate)
gmd:crs (related to gmd:referenceSystem)
gmd:date (or gmd:modified)
gmd:denominator (related to gmd:spatialResolution)
gmd:distance (related to gmd:spatialResolution)
gmd:distanceUOM (related to gmd:spatialResolution)
gmd:hasSecurityConstraints
gmd:keyword
gmd:keywordType
gmd:organisationName
gmd:publicationDate (related to gmd:revisionDate)
gmd:relation
gmd:version (related to gmd:referenceSystem)
srv:DCP (related to srv:serviceOperation)
srv:linkage (related to srv:serviceOperation)
srv:operatesOn (related to Union set srv:OperatesOnData but processed independently than related others)
srv:operatesOnIdentifier (related to srv:OperatesOnData)
srv:operatesOnName (related to srv:OperatesOnData)
srv:operation (related to srv:serviceOperation)

The Full mode queryable elements are any supported in the OGC specification and in the Brief, Summary, and Comprehensive modes (indicated in the csw:ElementSetName element of CSW ISO Profile request). What distinguishes Full mode is that the query always returns the full original ISO record, whereas the other modes return only the elements specified in the csw:ElementSeName element or specifically in the csw:ElementName elements of the CSW ISO Profile request.

Usage notes about ISO Queryables and some special cases:

The following table identifies the text search path (starting with gmd:MD_Metadata/) for a csw:Constraint element of a CSW ISO Profiole request. In other words, when a queryable in first column in this table is placed into a csw:Constraint element, the second column shows what the CSW service is looking for in the ISO records data for filtering purposes.

Table: Queryable Elements and Text Search Paths (ISO)

Queryable Element Text Search Path: Starts with gmd:MD_Metadata/
gmd:abstract gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString
gmd:alternateTitle gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:alternateTitle/gco:CharacterString
gmd:characterSet gmd:identificationInfo/gmd:MD_DataIdentification/gmd:characterSet/gmd:MD_CharacterSetCode[@codeListValue
gmd:code (related to gmd:referenceSystem) gmd:MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code/gco:CharacterString
gmd:codeSpace (related to gmd:referenceSystem) gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:codeSpace/gco:CharacterString
gmd:contributor gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where.[gmd:role/gmd:CI_RoleCode/@codeListValue=”author”])
gmd:creationDate (related to gmd:revisionDate) gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue=”creation”])
gmd:creator gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where [gmd:role/gmd:CI_RoleCode/@codeListValue=”originator”])
gmd:date (or gmd:modified) gmd:dateStamp/xs:date(gco:Date)
gmd:denominator (related to gmd:spatialResolution) gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator
gmd:distance (related to gmd:spatialResolution) gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:distance/gco:Distance
gmd:distanceUOM (related to gmd:spatialResolution) gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:distance/gco:Distance[@uom
gmd:fileIdentifier (or identifier) gmd:fileIdentifier/gco:CharacterString
gmd:format gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:version/gco:CharacterString
gmd:formatVersion gmd:distributionInfo/gmd:MD_Distribution/gmd:distributionFormat/gmd:MD_Format/gmd:version/gco:CharacterString
gmd:graphicOverview gmd:identificationInfo/gmd:MD_DataIdentification/gmd:graphicOverview/gmd:MD_BrowseGraphic/gmd:fileName/gco:CharacterString
gmd:hasSecurityConstraints gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_SecurityConstraints/gmd:classification/gmd:MD_ClassificationCode[@codeListValue
gmd:hierarchyLevelName gmd:hierarchyLevelName/gco:CharacterString
gmd:keyword gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString
gmd:keywordType gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode[@codeListValu
gmd:language gmd:language/gco:CharacterString
gmd:lineage gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString
gmd:metadataCharacterSet gmd:characterSet/gmd:MD_CharacterSetCode[@codeListValue
gmd:metadataStandardName gmd:metadataStandardName/gco:CharacterString
gmd:metadataStandardVersion gmd:metadataStandardVersion/gco:CharacterString
gmd:modified gmd:dateStamp/xs:date(gco:Date)
gmd:onlineResource gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:linkage/gmd:URL
gmd:organisationName gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty/gmd:organisationName/gco:CharacterString
gmd:parentIdentifier gmd:parentIdentifier/gco:CharacterString
gmd:publicationDate (related to gmd:revisionDate) gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue=”publication”])
gmd:publisher gmd:identificationInfo/gmd:MD_DataIdentification/gmd:pointOfContact/gmd:CI_ResponsibleParty[gmd:organisationName (where [gmd:role/gmd:CI_RoleCode/@codeListValue=”publisher”])
gmd:referenceSystem gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:code/gco:CharacterString
gmd:relation gmd:identificationInfo/gmd:MD_DataIdentification/gmd:aggregationInfo/gmd:MD_AggregateInformation/gmd:associationType/gmd:DS_AssociationTypeCode[@codeListValue
gmd:resourceIdentifier gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/gco:CharacterString
gmd:resourceLanguage gmd:identificationInfo/gmd:MD_DataIdentification/gmd:language/gco:CharacterString
gmd:revisionDate gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date[gmd:date/xs:date(gco:Date) (where [gmd:dateType/gmd:CI_DateTypeCode/@codeListValue=”revision”])
gmd:rights gmd:identificationInfo/gmd:MD_DataIdentification/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue
gmd:spatialRepresentationType gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialRepresentationType/gmd:MD_SpatialRepresentationTypeCode[@codeListValue
gmd:spatialResolution gmd:identificationInfo/gmd:MD_DataIdentification/gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator
gmd:title gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterStrin
gmd:topicCategory gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode
gmd:type (same as hierarchyLevel) gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue
gmd:version (related to gmd:referenceSystem) gmd:MD_Metadata/gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier/gmd:version/gco:CharacterString
ows:BoundingBox gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement
srv:couplingType gmd:identificationInfo/srv:SV_ServiceIdentification/srv:couplingType/srv:SV_CouplingType[@codeListValue
srv:DCP (related to srv:serviceOperation) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:DCP/srv:DCPList[@codeListValue
srv:linkage (related to srv:serviceOperation) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:connectPoint/gmd:CI_OnlineResource/gmd:linkage/gmd:URL
srv:operatesOn (related to Union set srv:OperatesOnData but processed independently than related others) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:operatesOn[@uuidref
srv:operatesOnIdentifier (related to srv:OperatesOnData) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:identifier/gco:CharacterString
srv:operatesOnName (related to srv:OperatesOnData) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:coupledResource/srv:SV_CoupledResource/srv:operationName/gco:CharacterString
srv:operation (related to srv:serviceOperation) gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString
srv:serviceOperation gmd:identificationInfo/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString
srv:serviceType gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType/gco:LocalName
srv:serviceTypeVersion gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceTypeVersion/gco:CharacterString

CSW Operations: Requests and Responses with XML Examples (ISO)

This topic presents some requests to the CSW engine, and usually the responses to requests, for the following operations.

GetCapabilities Operation (CSW, ISO)

The GetCapabilities operation allows CSW clients to retrieve Catalog service metadata from the CSW engine (server). The response to a GetCapabilities request is an XML document containing Catalog service metadata document about the server. This operation specifies the XML document that a CSW instance will return to describe its capabilities.

The CSW server accepts the service, Sections, AcceptVersions, and AcceptFormats request parameters, and may implement the updateSequence parameter. All CSW servers must implement the HTTP GET (that is, GET KVP) protocol for GetCapabilities operation. This service also supports POST XML and SOAP protocols.

The service metadata document (the CSW GetCapabilities response) contains the following sections:

Depending on the values in the Sections parameter of the GetCapabilities operation request, any combination of these sections can be requested to reduce response size. If the Sections parameter is not specified, then all sections will be returned

Example: GetCapabilities Request

The following is a request to get the capabilities of the CSW server named CSW at a specified namespace URL. This request will return a capabilities document, as explained in Capabilities Documents (CSW).

<csw:GetCapabilities service="CSW" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ows="http://www.opengis.net/ows/2.0">
  <ows:AcceptVersions>
    <ows:Version>2.0.2</ows:Version>
    <ows:Version>0.7.2</ows:Version>
  </ows:AcceptVersions>
  <ows:AcceptFormats>
    <ows:OutputFormat>text/xml</ows:OutputFormat>
  </ows:AcceptFormats>
</csw:GetCapabilities>

DescribeRecord Operation (CSW, ISO)

The DescribeRecord operation allows a client to discover elements of the information model supported by the catalog service. The operation allows some or all of the information model to be described. The Oracle Spatial catalog service supports HTTP GET, POST XML and SOAP protocols.

The only difference between the DCMI and ISO profile DescribeRecord operation is in the TypeName parameter value, where for ISO the value is <csw:TypeName>**gmd:MD_Metadata**</csw:TypeName>. whereas for DCMI it is <csw:TypeName>**csw:Record**</csw:TypeName>. For example:

http://<host:port>/oraclespatial/csw/<data source name>?service=CSW&request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=gmd:MD_Metadata&namespace=xmlns(csw=http://www.opengis.org/cat/csw)

For XML encoded DescribeRecord requests, the namespace declarations are specified using standard XML conventions (xmlns attributes) and described in the document “Namespaces in XML” [https://www.w3.org/TR/1999/REC-xml-names-19990114/].

For KVP encoding, namespace declarations are specified using the NAMESPACE parameter, which is a comma-separated list of namespace declarations of the form xmlns([prefix=]namespace-url).

The TypeName parameter specifies a list of type names that are to be described by the catalog service. A type name is the name of a queryable entity from the information model of the catalog. The Oracle Spatial catalog service allows only gmd:Metadata for the TypeName parameter.

The outputFormat parameter specifies the MIME type of the response document. The default output format attribute is the MIME type application/xml. All supported output formats should be declared in the Capabilities document. The Oracle Spatial catalog service supports by default application/xml.

The schemaLanguage parameter is used to specify the schema language that should be used to describe the specified types. The default value is XMLSCHEMA, which indicates that the XML-Schema schema description language should be used. The Oracle Spatial catalog service supports XMLSCHEMA for this parameter if it is present in the request.

An example HTTP GET request is:

http://<host:port>/oraclespatial/csw/<data source name>?service=CSW&request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=csw:Record&namespace=xmlns(csw=http://www.opengis.org/cat/csw)

The DescribeRecord operation response is an XML document with a DescribeRecordResponse element that includes zero or more SchemaComponent subelements, each of which contains the description of one or more type names in the requested schema language.

Example: DescribeRecord Request

The following is a request to describe the record with the type name MD_Metadata for a specified namespace..

<csw:DescribeRecord
                    xmlns:csw=“http://www.opengis.net/cat/csw/2.0.2"
                    xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                    xmlns:gmd="http://www.isotc211.org/2005/gmd"
                    xmlns:srv="http://www.isotc211.org/2005/srv"
                    xmlns:dc="http://purl.org/dc/elements/1.1/"
                    xmlns:dct="http://purl.org/dc/terms/"
                    xmlns:ows="http://www.opengis.net/ows"
                    xmlns:xi="http://www.w3.org/2001/XInclude"
                    xmlns:xlink="http://www.w3.org/1999/xlink"
                    xmlns:xs="http://www.w3.org/2001/XMLSchema"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    service="CSW"
                    version="2.0.2">
  <csw:TypeName>gmd:MD_Metadata</csw:TypeName>
</csw:DescribeRecord>

Example: DescribeRecord Response

The following is the response from the preceding request. The response is an XML schema definition (XSD). See the <xsd:documentation> elements in the response for explanatory comments.

<?xml version='1.0' encoding='UTF-8'?>
<csw:DescribeRecordResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
  <csw:SchemaComponent schemaLanguage="http://www.w3.org/XML/Schema" targetNamespace="http://www.isotc211.org/2005/gmd">
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd" elementFormDefault="qualified" version="2012-07-13">
            <!-- ================================= Annotation ================================ -->
            <xs:annotation>
                <xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This metadataEntity.xsd schema implements the UML conceptual schema defined in A.2.1 of ISO 19115:2003. It contains the implementation of the class MD_Metadata.</xs:documentation>
            </xs:annotation>
            <!-- ================================== Imports ================================== -->
            <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/spatialrepresentation.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/metadataextension.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/content.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/metadataapplication.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/applicationschema.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/portrayalcatalogue.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/dataquality.xsd"/>
            <xs:include schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gmd/freetext.xsd"/>
            <!-- ########################################################################### -->
            <!-- ########################################################################### -->
            <!-- ================================== Classes ================================= -->
            <xs:complexType name="MD_Metadata_Type">
                <xs:annotation>
                    <xs:documentation>Information about the metadata</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                    <xs:extension base="gco:AbstractObject_Type">
                        <xs:sequence>
                            <xs:element name="fileIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="language" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="characterSet" type="gmd:MD_CharacterSetCode_PropertyType" minOccurs="0"/>
                            <xs:element name="parentIdentifier" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="hierarchyLevel" type="gmd:MD_ScopeCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="hierarchyLevelName" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="contact" type="gmd:CI_ResponsibleParty_PropertyType" maxOccurs="unbounded"/>
                            <xs:element name="dateStamp" type="gco:Date_PropertyType"/>
                            <xs:element name="metadataStandardName" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="metadataStandardVersion" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="dataSetURI" type="gco:CharacterString_PropertyType" minOccurs="0"/>
                            <xs:element name="locale" type="gmd:PT_Locale_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="spatialRepresentationInfo" type="gmd:MD_SpatialRepresentation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="referenceSystemInfo" type="gmd:MD_ReferenceSystem_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="metadataExtensionInfo" type="gmd:MD_MetadataExtensionInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="identificationInfo" type="gmd:MD_Identification_PropertyType" maxOccurs="unbounded"/>
                            <xs:element name="contentInfo" type="gmd:MD_ContentInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="distributionInfo" type="gmd:MD_Distribution_PropertyType" minOccurs="0"/>
                            <xs:element name="dataQualityInfo" type="gmd:DQ_DataQuality_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="portrayalCatalogueInfo" type="gmd:MD_PortrayalCatalogueReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="metadataConstraints" type="gmd:MD_Constraints_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="applicationSchemaInfo" type="gmd:MD_ApplicationSchemaInformation_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="metadataMaintenance" type="gmd:MD_MaintenanceInformation_PropertyType" minOccurs="0"/>
                            <xs:element name="series" type="gmd:DS_Aggregate_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="describes" type="gmd:DS_DataSet_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="propertyType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="featureType" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="featureAttribute" type="gco:ObjectReference_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:extension>
                </xs:complexContent>
            </xs:complexType>
            <!-- ........................................................................ -->
            <xs:element name="MD_Metadata" type="gmd:MD_Metadata_Type"/>
            <!-- ........................................................................ -->
            <xs:complexType name="MD_Metadata_PropertyType">
                <xs:sequence minOccurs="0">
                    <xs:element ref="gmd:MD_Metadata"/>
                </xs:sequence>
                <xs:attributeGroup ref="gco:ObjectReference"/>
                <xs:attribute ref="gco:nilReason"/>
            </xs:complexType>
            <!-- =========================================================================== -->
        </xs:schema>
  </csw:SchemaComponent>
</csw:DescribeRecordResponse>

GetRecords Operation (CSW, ISO)

The primary tools for resource discovery in CSW are the two operations: search and present. In the HTTP protocol binding these are combined in the form of the GetRecords operation, which performs a search and present.

The “search” portion of the GetRecords operation is encoded using the Query element, which includes the parameters parameters typeName and Constraint.

The “present” portion of the GetRecords operation is encoded using the outputSchema parameter and the ElementName/ElementSetName parameter(s).

(The following description does not repeat some parameters also used with DescribeRecord, such as namespace and outputFormat.)

The resultType parameter may have the value hits, results, or validate. The value determines whether the catalog service returns just a summary of the result set (hits), includes one or more records from the result set (results), or validates the request message (validate).

The startPosition parameter is used to indicate at which record position the catalog should start generating output. The default value is 1, meaning that it starts at the first record in the result set.

The maxRecords parameter is used to define the maximum number of records that should be returned from the result set of a query. If it is not specified, then 10 records will be returned. If its value is set to zero, then the behavior is identical to setting resultType to hits.

The typeNames parameter is a list of one or more names of queryable entities in the catalog’s information model that may be constrained in the predicate of the query. (god:MD_Metadata indicates the ISO profile.)

The ElementName parameter is used to specify one or more metadata record elements, from the output schema specified using the outputSchema parameter, so that the query will be present in the response to a GetRecords operation.

The ElementSetName parameter can be brief, summary, comprehensive, or full, to indicate which named set the service will present to the client.

The ElementName and ElementSetName parameters are mutually exclusive. Either an ElementSetName parameter or one or more ElementSetName parameters should be specified in a query.

The ConstraintLanguage parameter must be Filter for the Oracle Spatial CSW service. (CQL is not supported for the ISO profile.)

The constraint parameter specifies which filtering capabilities are used to get certain records. The following filtering capabilities are supported by the Oracle Spatial CSW service:

The GetRecordsResponse element is a container for the response to the GetRecords request.

The SearchStatus element indicates the status of the response. The search status consists of a timestamp attribute indicating when the result set was created.

The SearchResults element contains the SearchResults element, which is the set of records returned by the GetRecords operation. The following attributes can be used with the SearchResults element: ElementSet(brief/summary/full), numberOfRecordaMatched, numberOfRecordsReturned, nextRecord.

Oracle Spatial Catalog Service supports HTTP GET, POST XML and SOAP protocols for the GetRecords operation.

Example: GetRecords Request with PropertyIsEqualTo and PropertyIsLike

The following is a request to GetRecords with PropertyIsEqualTo and PropertyIsLike specified. It finds the result set of records where the type is equal to the string data set or where the format is a String value containing the “WAR” token. (The following characters are flexible: escapeChar, singleChar, and wildcard.)

<csw:GetRecords
                xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:srv="http://www.isotc211.org/2005/srv"
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                resultType="results"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementSetName>summary</csw:ElementSetName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:Or>
               <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*">
                  <ogc:PropertyName>apiso:format</ogc:PropertyName>
                  <ogc:Literal>WAR</ogc:Literal>
               </ogc:PropertyIsLike>
               <ogc:PropertyIsEqualTo>
                  <ogc:PropertyName>apiso:type</ogc:PropertyName>
                  <ogc:Literal>dataset</ogc:Literal>
               </ogc:PropertyIsEqualTo>
            </ogc:Or>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

For GetRecords Requests, ElementSetName can be summary, full, or brief, or comprehensive.

The CSW 2.0.2 specification allows either ElementSetName (only 1) or ElementName (can be more than 1) in the GetRecords Request.

The Spatial catalog service supports only synchronous processing of GetRecords requests.

Example: GetRecords Response with PropertyIsEqualTo and PropertyIsLike

The following is the response from the preceding request.

<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd">
  <csw:SearchStatus timestamp="2017-09-28T02:26:48Z"></csw:SearchStatus>
  <csw:SearchResults elementSet="summary" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0">
    <csw:SummaryRecordISO>
      <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract>
      <gmd:creator>Jane Doe</gmd:creator>
      <gmd:EX_GeographicBoundingBox dimensions="2">
        <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude>
        <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude>
        <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude>
        <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude>
      </gmd:EX_GeographicBoundingBox>
      <gmd:format>WAR</gmd:format>
      <gmd:format>ZIP</gmd:format>
      <gmd:formatVersion>12.2.0.2</gmd:formatVersion>
      <gmd:formatVersion>Unknown Format Version</gmd:formatVersion>
      <gmd:graphicOverview>
        <gmd:MD_BrowseGraphic>
          <gmd:fileName>webservice_catalog_services.png</gmd:fileName>
          <gmd:fileDescription>large_thumbnail</gmd:fileDescription>
          <gmd:fileType>png</gmd:fileType>
        </gmd:MD_BrowseGraphic>
      </gmd:graphicOverview>
      <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier>
      <gmd:language>eng</gmd:language>
      <gmd:lineage>
        <gmd:LI_Lineage>
          <gmd:statement>DATA FROM TNRIS</gmd:statement>
          <gmd:processStep>
            <gmd:LI_ProcessStep>
              <gmd:description>The data was downloaded from TNRIS</gmd:description>
              <gmd:rationale>No rationale</gmd:rationale>
              <gmd:dateTime>
                <gco:DateTime>1998-01-01T00:00:00.000Z</gco:DateTime>
              </gmd:dateTime>
              <gmd:processor>
                <gmd:CI_ResponsibleParty>
                  <gmd:individualName>No individualName</gmd:individualName>
                  <gmd:organisationName>Oracle Spatial Labs</gmd:organisationName>
                  <gmd:positionName>Technical Member</gmd:positionName>
                  <gmd:contactInfo>
                    <gmd:CI_Contact>
                      <gmd:phone>
                        <gmd:CI_Telephone>
                          <csw:voice>603-897-8888</csw:voice>
                          <csw:facsimile>603-897-4444</csw:facsimile>
                        </gmd:CI_Telephone>
                     </gmd:phone>
                      <gmd:address>
                        <gmd:CI_Address>
                          <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint>
                          <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint>
                          <gmd:city>Nashua</gmd:city>
                          <gmd:administrativeArea>NH</gmd:administrativeArea>
                          <gmd:postalCode>03062-0003</gmd:postalCode>
                          <gmd:country>USA</gmd:country>
                          <gmd:electronicMailAddress>baris.kazar@oracle.com</gmd:electronicMailAddress>
                        </gmd:CI_Address>
                      </gmd:address>
                      <gmd:onlineResource>
                        <gmd:CI_OnlineResource>
                          <gmd:linkage>http://www.myoracle.com/</gmd:linkage>
                          <gmd:protocol>HTTP</gmd:protocol>
                          <gmd:applicationProfile>The web browser</gmd:applicationProfile>
                          <gmd:name>The Data Dictionary</gmd:name>
                          <gmd:description>This http link contains the data dictionary for the resource.</gmd:description>
                          <gmd:function>
                            <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information" codeSpace="002">information</gmd:CI_OnLineFunctionCode>
                          </gmd:function>
                        </gmd:CI_OnlineResource>
                      </gmd:onlineResource>
                      <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService>
                      <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions>
                    </gmd:CI_Contact>
                  </gmd:contactInfo>
                  <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value"></gmd:CI_RoleCode>
                  </gmd:role>
                </gmd:CI_ResponsibleParty>
              </gmd:processor>
            </gmd:LI_ProcessStep>
          </gmd:processStep>
        </gmd:LI_Lineage>
      </gmd:lineage>
      <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet>
      <gmd:metadataStandardName>ISO19115</gmd:metadataStandardName>
      <gmd:metadataStandardVersion>2003/Cor.1:2008</gmd:metadataStandardVersion>
      <gmd:modified>2015-10-22</gmd:modified>
      <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw1/</gmd:onlineResource>
      <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier>
      <gmd:publisher>Ali Ali</gmd:publisher>
      <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>GHRSST &gt; Group for High Resolution Sea Surface Temperature</gmd:resourceIdentifier>
      <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage>
      <gmd:referenceSystem>
        <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code>
        <gmd:codeSpace>http://someurl</gmd:codeSpace>
        <gmd:version>6.18.3</gmd:version>
      </gmd:referenceSystem>
      <gmd:revisionDate>2017-03-21</gmd:revisionDate>
      <gmd:rights>otherRestrictions</gmd:rights>
      <gmd:spatialResolution>
        <gmd:denominator>25000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution>
        <gmd:denominator>50000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>3.0</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>2.0</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType>
      <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title>
      <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title>
      <gmd:topicCategory>planningCadastre</gmd:topicCategory>
      <gmd:type>dataset</gmd:type>
    </csw:SummaryRecordISO>
    <csw:SummaryRecordISO>
      <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract>
      <gmd:characterSet>utf16</gmd:characterSet>
      <gmd:contributor>John Doe</gmd:contributor>
      <gmd:EX_GeographicBoundingBox dimensions="2">
        <gmd:WestBoundLongitude>-119.047013285</gmd:WestBoundLongitude>
        <gmd:SouthBoundLatitude>24.2585812994</gmd:SouthBoundLatitude>
        <gmd:EastBoundLongitude>-116.876969333</gmd:EastBoundLongitude>
        <gmd:NorthBoundLatitude>27.0002329277</gmd:NorthBoundLatitude>
      </gmd:EX_GeographicBoundingBox>
      <gmd:format>ZIP</gmd:format>
      <gmd:formatVersion>Unknown Format Version</gmd:formatVersion>
      <gmd:graphicOverview>
        <gmd:MD_BrowseGraphic>
          <gmd:fileName>webservice_catalog_services2.jpeg</gmd:fileName>
          <gmd:fileDescription>medium_thumbnail</gmd:fileDescription>
          <gmd:fileType>jpeg</gmd:fileType>
        </gmd:MD_BrowseGraphic>
      </gmd:graphicOverview>
      <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier>
      <gmd:language>eng</gmd:language>
      <gmd:lineage>
        <gmd:LI_Lineage>
          <gmd:statement>No statement</gmd:statement>
          <gmd:processStep>
            <gmd:LI_ProcessStep>
              <gmd:description>The data was downloaded from TNRIS</gmd:description>
              <gmd:rationale>No rationale</gmd:rationale>
              <gmd:dateTime>
                <gco:DateTime>1999-01-01T00:00:00.000Z</gco:DateTime>
              </gmd:dateTime>
              <gmd:processor>
                <gmd:CI_ResponsibleParty>
                  <gmd:individualName>No individualName</gmd:individualName>
                  <gmd:organisationName>Oracle Spatial Labs</gmd:organisationName>
                  <gmd:positionName>Manager</gmd:positionName>
                  <gmd:contactInfo>
                    <gmd:CI_Contact>
                      <gmd:phone>
                        <gmd:CI_Telephone>
                          <csw:voice>603-897-7777</csw:voice>
                          <csw:facsimile>603-897-5555</csw:facsimile>
                        </gmd:CI_Telephone>
                      </gmd:phone>
                      <gmd:address>
                        <gmd:CI_Address>
                          <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint>
                          <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint>
                          <gmd:city>Nashua</gmd:city>
                          <gmd:administrativeArea>NH</gmd:administrativeArea>
                          <gmd:postalCode>03062-0003</gmd:postalCode>
                          <gmd:country>USA</gmd:country>
                          <gmd:electronicMailAddress>qingyun.xie@oracle.com</gmd:electronicMailAddress>
                        </gmd:CI_Address>
                      </gmd:address>
                      <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService>
                      <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions>
                    </gmd:CI_Contact>
                  </gmd:contactInfo>
                  <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value">processor</gmd:CI_RoleCode>
                  </gmd:role>
                </gmd:CI_ResponsibleParty>
              </gmd:processor>
            </gmd:LI_ProcessStep>
          </gmd:processStep>
        </gmd:LI_Lineage>
      </gmd:lineage>
      <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet>
      <gmd:metadataStandardName>ISO19139</gmd:metadataStandardName>
      <gmd:metadataStandardVersion>2003/Cor.1:2006</gmd:metadataStandardVersion>
      <gmd:modified>2015-10-21</gmd:modified>
      <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw2/</gmd:onlineResource>
      <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier>
      <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:de.pangaea:project:IODP</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001:hole:A</gmd:resourceIdentifier>
      <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage>
      <gmd:referenceSystem>
        <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code>
        <gmd:codeSpace>No codeSpace value for ReferenceSystem</gmd:codeSpace>
        <gmd:version>6.18.3</gmd:version>
      </gmd:referenceSystem>
      <gmd:revisionDate>2015-11-23T14:44:00</gmd:revisionDate>
      <gmd:rights>license</gmd:rights>
      <gmd:spatialResolution>
        <gmd:denominator>60000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf2/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>2.8</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType>
      <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title>
      <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title>
      <gmd:topicCategory>planningCadastre</gmd:topicCategory>
      <gmd:type>dataset</gmd:type>
    </csw:SummaryRecordISO>
  </csw:SearchResults>
</csw:GetRecordsResponse>

Example: GetRecords Request with PropertyIsLike

The following is a request to GetRecords with PropertyIsLike where the client wants to fetch records whose property title is like “Oracle CSW*Service”. (The following characters are flexible: escapeChar, singleChar, and wildcard.)

<csw:GetRecords
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:srv="http://www.isotc211.org/2005/srv"
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                resultType="results"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementSetName>summary</csw:ElementSetName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:PropertyIsLike escapeChar="\" singleChar="?" wildCard="*">
               <ogc:PropertyName>apiso:title</ogc:PropertyName>
               <ogc:Literal>Oracle CSW*Service*</ogc:Literal>
            </ogc:PropertyIsLike>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

Example: GetRecords Response with PropertyIsLike

The following is the response from the preceding request.

<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd">
  <csw:SearchStatus timestamp="2017-09-14T01:32:01Z"></csw:SearchStatus>
  <csw:SearchResults elementSet="summary" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0">
    <csw:SummaryRecordISO>
      <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract>
      <gmd:creator>Jane Doe</gmd:creator>
      <gmd:EX_GeographicBoundingBox dimensions="2">
        <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude>
        <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude>
        <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude>
        <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude>
      </gmd:EX_GeographicBoundingBox>
      <gmd:format>WAR</gmd:format>
      <gmd:format>ZIP</gmd:format>
      <gmd:formatVersion>12.2.0.2</gmd:formatVersion>
      <gmd:formatVersion>Unknown Format Version</gmd:formatVersion>
      <gmd:graphicOverview>
        <gmd:MD_BrowseGraphic>
          <gmd:fileName>webservice_catalog_services.png</gmd:fileName>
          <gmd:fileDescription>large_thumbnail</gmd:fileDescription>
          <gmd:fileType>png</gmd:fileType>
        </gmd:MD_BrowseGraphic>
      </gmd:graphicOverview>
      <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier>
      <gmd:language>eng</gmd:language>
      <gmd:lineage>
        <gmd:LI_Lineage>
          <gmd:statement>DATA FROM TNRIS</gmd:statement>
          <gmd:processStep>
            <gmd:LI_ProcessStep>
              <gmd:description>The data was downloaded from TNRIS</gmd:description>
              <gmd:rationale>No rationale</gmd:rationale>
              <gmd:dateTime>
                <gco:DateTime>1998-01-01T00:00:00.000-08:00</gco:DateTime>
              </gmd:dateTime>
              <gmd:processor>
                <gmd:CI_ResponsibleParty>
                  <gmd:individualName>No individualName</gmd:individualName>
                  <gmd:organisationName>Oracle Spatial Labs</gmd:organisationName>
                  <gmd:positionName>Technical Member</gmd:positionName>
                  <gmd:contactInfo>
                    <gmd:CI_Contact>
                      <gmd:phone>
                        <gmd:CI_Telephone>
                          <csw:voice>603-897-8888</csw:voice>
                          <csw:facsimile>603-897-4444</csw:facsimile>
                        </gmd:CI_Telephone>
                      </gmd:phone>
                      <gmd:address>
                        <gmd:CI_Address>
                          <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint>
                          <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint>
                          <gmd:city>Nashua</gmd:city>
                          <gmd:administrativeArea>NH</gmd:administrativeArea>
                          <gmd:postalCode>03062-0003</gmd:postalCode>
                          <gmd:country>USA</gmd:country>
                          <gmd:electronicMailAddress>baris.kazar@oracle.com</gmd:electronicMailAddress>
                        </gmd:CI_Address>
                      </gmd:address>
                      <gmd:onlineResource>
                        <gmd:CI_OnlineResource>
                          <gmd:linkage>http://www.myoracle.com/</gmd:linkage>
                          <gmd:protocol>HTTP</gmd:protocol>
                          <gmd:applicationProfile>The web browser</gmd:applicationProfile>
                          <gmd:name>The Data Dictionary</gmd:name>
                          <gmd:description>This http link contains the data dictionary for the resource.</gmd:description>
                          <gmd:function>
                            <gmd:CI_OnLineFunctionCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode" codeListValue="information" codeSpace="002">information</gmd:CI_OnLineFunctionCode>
                          </gmd:function>
                        </gmd:CI_OnlineResource>
                      </gmd:onlineResource>
                      <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService>
                      <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions>
                    </gmd:CI_Contact>
                  </gmd:contactInfo>
                  <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value"></gmd:CI_RoleCode>
                  </gmd:role>
                </gmd:CI_ResponsibleParty>
              </gmd:processor>
            </gmd:LI_ProcessStep>
          </gmd:processStep>
        </gmd:LI_Lineage>
      </gmd:lineage>
      <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet>
      <gmd:metadataStandardName>ISO19115</gmd:metadataStandardName>
      <gmd:metadataStandardVersion>2003/Cor.1:2008</gmd:metadataStandardVersion>
      <gmd:modified>2015-10-22</gmd:modified>
      <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw1/</gmd:onlineResource>
      <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier>
      <gmd:publisher>Ali Ali</gmd:publisher>
      <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>GHRSST &gt; Group for High Resolution Sea Surface Temperature</gmd:resourceIdentifier>
      <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage>
      <gmd:referenceSystem>
        <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code>
        <gmd:codeSpace>http://someurl</gmd:codeSpace>
        <gmd:version>6.18.3</gmd:version>
      </gmd:referenceSystem>
      <gmd:revisionDate>2017-03-21</gmd:revisionDate>
      <gmd:rights>otherRestrictions</gmd:rights>
      <gmd:spatialResolution>
        <gmd:denominator>25000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution>
        <gmd:denominator>50000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>3.0</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>2.0</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType>
      <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title>
      <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title>
      <gmd:topicCategory>planningCadastre</gmd:topicCategory>
      <gmd:type>dataset</gmd:type>
    </csw:SummaryRecordISO>
    <csw:SummaryRecordISO>
      <gmd:abstract>This feature class is Test Data for Oracle CSW 2.0.2 Service.</gmd:abstract>
      <gmd:characterSet>utf16</gmd:characterSet>
      <gmd:contributor>John Doe</gmd:contributor>
      <gmd:EX_GeographicBoundingBox dimensions="2">
        <gmd:WestBoundLongitude>-119.047013285</gmd:WestBoundLongitude>
        <gmd:SouthBoundLatitude>24.2585812994</gmd:SouthBoundLatitude>
        <gmd:EastBoundLongitude>-116.876969333</gmd:EastBoundLongitude>
        <gmd:NorthBoundLatitude>27.0002329277</gmd:NorthBoundLatitude>
      </gmd:EX_GeographicBoundingBox>
      <gmd:format>ZIP</gmd:format>
      <gmd:formatVersion>Unknown Format Version</gmd:formatVersion>
      <gmd:graphicOverview>
        <gmd:MD_BrowseGraphic>
          <gmd:fileName>webservice_catalog_services2.jpeg</gmd:fileName>
          <gmd:fileDescription>medium_thumbnail</gmd:fileDescription>
          <gmd:fileType>jpeg</gmd:fileType>
        </gmd:MD_BrowseGraphic>
      </gmd:graphicOverview>
      <gmd:hierarchyLevelName>UTI</gmd:hierarchyLevelName>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier>
      <gmd:language>eng</gmd:language>
      <gmd:lineage>
        <gmd:LI_Lineage>
          <gmd:statement>No statement</gmd:statement>
          <gmd:processStep>
            <gmd:LI_ProcessStep>
              <gmd:description>The data was downloaded from TNRIS</gmd:description>
              <gmd:rationale>No rationale</gmd:rationale>
              <gmd:dateTime>
                <gco:DateTime>1999-01-01T00:00:00.000-08:00</gco:DateTime>
              </gmd:dateTime>
              <gmd:processor>
                <gmd:CI_ResponsibleParty>
                  <gmd:individualName>No individualName</gmd:individualName>
                  <gmd:organisationName>Oracle Spatial Labs</gmd:organisationName>
                  <gmd:positionName>Manager</gmd:positionName>
                  <gmd:contactInfo>
                    <gmd:CI_Contact>
                      <gmd:phone>
                        <gmd:CI_Telephone>
                          <csw:voice>603-897-7777</csw:voice>
                          <csw:facsimile>603-897-5555</csw:facsimile>
                        </gmd:CI_Telephone>
                      </gmd:phone>
                      <gmd:address>
                        <gmd:CI_Address>
                          <gmd:deliveryPoint>ABC03 3330</gmd:deliveryPoint>
                          <gmd:deliveryPoint>3 Oracle Drive</gmd:deliveryPoint>
                          <gmd:city>Nashua</gmd:city>
                          <gmd:administrativeArea>NH</gmd:administrativeArea>
                          <gmd:postalCode>03062-0003</gmd:postalCode>
                          <gmd:country>USA</gmd:country>
                          <gmd:electronicMailAddress>qingyun.xie@oracle.com</gmd:electronicMailAddress>
                        </gmd:CI_Address>
                      </gmd:address>
                      <gmd:hoursOfService>8AM - 7PM Eastern Time</gmd:hoursOfService>
                      <gmd:contactInstructions>No contactInstructions</gmd:contactInstructions>
                    </gmd:CI_Contact>
                  </gmd:contactInfo>
                  <gmd:role>
                    <gmd:CI_RoleCode codeList="http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode" codeListValue="processor" codeSpace="No value">processor</gmd:CI_RoleCode>
                  </gmd:role>
                </gmd:CI_ResponsibleParty>
              </gmd:processor>
            </gmd:LI_ProcessStep>
          </gmd:processStep>
        </gmd:LI_Lineage>
      </gmd:lineage>
      <gmd:metadataCharacterSet>utf8</gmd:metadataCharacterSet>
      <gmd:metadataStandardName>ISO19139</gmd:metadataStandardName>
      <gmd:metadataStandardVersion>2003/Cor.1:2006</gmd:metadataStandardVersion>
      <gmd:modified>2015-10-21</gmd:modified>
      <gmd:onlineResource>http://www.oracle.com/oraclespatial/mycsw2/</gmd:onlineResource>
      <gmd:parentIdentifier>CSW-WEB-SERVICES</gmd:parentIdentifier>
      <gmd:resourceIdentifier>Downloadable Data</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:de.pangaea:project:IODP</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001</gmd:resourceIdentifier>
      <gmd:resourceIdentifier>urn:org.iodp:exp:302:site:M0001:hole:A</gmd:resourceIdentifier>
      <gmd:resourceLanguage>eng; USA</gmd:resourceLanguage>
      <gmd:referenceSystem>
        <gmd:code> urn:ogc:def:crs:EPSG:4957</gmd:code>
        <gmd:codeSpace>No codeSpace value for ReferenceSystem</gmd:codeSpace>
        <gmd:version>6.18.3</gmd:version>
      </gmd:referenceSystem>
      <gmd:revisionDate>2015-11-23T14:44:00</gmd:revisionDate>
      <gmd:rights>license</gmd:rights>
      <gmd:spatialResolution>
        <gmd:denominator>60000</gmd:denominator>
      </gmd:spatialResolution>
      <gmd:spatialResolution uom="http://standards.iso.org/ittf2/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/gmxUom.xml#m">
        <gmd:distance>2.8</gmd:distance>
      </gmd:spatialResolution>
      <gmd:spatialRepresentationType>vector</gmd:spatialRepresentationType>
      <gmd:title>European Petroleum Survey Group (EPSG) Geodetic Parameter Registry</gmd:title>
      <gmd:title>Oracle CSW 2.0.2 Service Record</gmd:title>
      <gmd:topicCategory>planningCadastre</gmd:topicCategory>
      <gmd:type>dataset</gmd:type>
    </csw:SummaryRecordISO>
  </csw:SearchResults>
</csw:GetRecordsResponse>

Example: GetRecords Request with PropertyIsGreaterThan

The following is a request to GetRecords with PropertyIsGreaterThan where the client would like to fetch records where their dates are later than the date value 2004-01-01.

<csw:GetRecords
                xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:srv="http://www.isotc211.org/2005/srv"
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                resultType="results"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementName>apiso:identifier</csw:ElementName>
      <csw:ElementName>apiso:type</csw:ElementName>
      <csw:ElementName>apiso:modified</csw:ElementName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:PropertyIsGreaterThan>
               <ogc:PropertyName>apiso:modified</ogc:PropertyName>
               <ogc:Literal>2004-01-01Z</ogc:Literal>
            </ogc:PropertyIsGreaterThan>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

Example: GetRecords Response with PropertyIsGreaterThan

The following is the response from the preceding request.

<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd">
  <csw:SearchStatus timestamp="2017-06-06T06:34:22Z"></csw:SearchStatus>
  <csw:SearchResults elementSet="" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="2" numberOfRecordsReturned="2" nextRecord="0">
    <csw:RecordISO>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier>
      <gmd:modified>2015-10-22</gmd:modified>
      <gmd:type>dataset</gmd:type>
    </csw:RecordISO>
    <csw:RecordISO>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8dddd</gmd:fileIdentifier>
      <gmd:modified>2015-10-21</gmd:modified>
      <gmd:type>dataset</gmd:type>
    </csw:RecordISO>
  </csw:SearchResults>
</csw:GetRecordsResponse>

Example: GetRecords Request with BoundingBox (BBOX)

The following is a request to GetRecords with BoundingBox (BBOX) where the client wants to fetch records whose geometry falls into the Bounding Box of (60,12;70, 20) This request benefits from both spatial and XQFT indexes.

csw:GetRecords
                xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
                xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0"
                xmlns:gmd="http://www.isotc211.org/2005/gmd"
                xmlns:srv="http://www.isotc211.org/2005/srv"
                xmlns:dc="http://purl.org/dc/elements/1.1/"
                xmlns:dct="http://purl.org/dc/terms/"
                xmlns:gml="http://www.opengis.net/gml"
                xmlns:ogc="http://www.opengis.net/ogc"
                xmlns:ows="http://www.opengis.net/ows"
                xmlns:xi="http://www.w3.org/2001/XInclude"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                maxRecords="0"
                resultType="results"
                service="CSW"
                version="2.0.2">
   <csw:Query typeNames="gmd:MD_Metadata">
      <csw:ElementName>apiso:identifier</csw:ElementName>
      <csw:ElementName>ows:BoundingBox</csw:ElementName>
      <csw:Constraint version="1.1.0">
         <ogc:Filter>
            <ogc:Not>
               <ogc:BBOX>
                  <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>
                  <gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.11:4326">
                     <gml:lowerCorner>60.0 12.0</gml:lowerCorner>
                     <gml:upperCorner>70.0 20.0</gml:upperCorner>
                  </gml:Envelope>
               </ogc:BBOX>
            </ogc:Not>
         </ogc:Filter>
      </csw:Constraint>
   </csw:Query>
</csw:GetRecords>

Example: GetRecords Response with BoundingBox (BBOX)

The following is the response from the preceding request.

<csw:GetRecordsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:dct="http://purl.org/dc/terms/" xmlns:ns7="http://www.opengis.net/ows/2.0" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:swe="http://www.opengis.net/swe/2.0" xmlns:gco="http://www.isotc211.org/2005/gco" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ../../cswAll.xsd">
  <csw:SearchStatus timestamp="2017-08-16T09:46:09Z"></csw:SearchStatus>
  <csw:SearchResults elementSet="" recordSchema="http://www.isotc211.org/2005/gmd" numberOfRecordsMatched="1" numberOfRecordsReturned="1" nextRecord="0">
    <csw:RecordISO>
      <gmd:EX_GeographicBoundingBox dimensions="2">
        <gmd:WestBoundLongitude>-109.047013285</gmd:WestBoundLongitude>
        <gmd:SouthBoundLatitude>34.2585812994</gmd:SouthBoundLatitude>
        <gmd:EastBoundLongitude>-106.876969333</gmd:EastBoundLongitude>
        <gmd:NorthBoundLatitude>37.0002329277</gmd:NorthBoundLatitude>
      </gmd:EX_GeographicBoundingBox>
      <gmd:fileIdentifier>210553_L400_S0005K_00000000_00002b2b-26c0-4aa1-a444-c7e1eee8cccc</gmd:fileIdentifier>
    </csw:RecordISO>
  </csw:SearchResults>
</csw:GetRecordsResponse>