Namespaces Predicate languages b

soap:Envelope A client may send CSW requests to a compatible catalogue using the body of a SOAP envelope. The client simply encodes the CSW request as the content of the soap:Body element in the request message. The CSW shall then response by generating a SOAP message where the response to the client’s request is the content of the soap:Body element. If an exception is encountered while processing a CSW request encoded in a SOAP envelope, the CSW server shall generate a SOAP response message where the content of the soap:Body element is a soap:Fault element. The following skeleton XML fragment shall be used when generating the soap:Body element in the event that the CSW server encounters an exception: soap:Body soap:Fault soap:Code soap:Valuesoap:Serversoap:Value soap:Code soap:Reason soap:TextA server exception was encountered.soap:Text soap:Reason soap:Detail ows:ExceptionReport … ows:ExceptionReport soap:Detail soap:Fault soap:Body The soap:Value element in the soap:Code element shall have the content soap:Server indicating that this is a server exception. The soap:Text element in the soap:Reason element shall have the content “Server exception was encountered.”. This fixed string is used since the details of the exception will be specified in the soap:Detail element using an ows:ExceptionReport element as defined in document [OGC 05-008c1]. The soap:Detail element shall contain an ows:ExceptionReport element detailing the specific exception that the server encountered. The use of the soap:Header element is not discussed in this version of this specification.

10.3.3 Namespaces

Namespaces [W3C Recommendation January 1999] are used to discriminate XML vocabularies from one another. For the CSW there are two normative namespace definitions, namely: http:www.opengis.netcatcsw2.0 .2- for CSW interface vocabulary http:www.opengis.netogc - for OGC Filter vocabulary Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. 125 A given CSW implementation will make use of one or more XML Schemas describing the metadata that is being manipulated and these schemas will, in turn, use one or more namespaces e.g. http:www.someserver.commynshttp:www.someserver.commyns urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 .

10.3.4 Predicate languages

The general model allows catalogue clients to specify the predicate language used to constrain operations. The HTTP protocol binding schemas define two predicate languages, based on the BNF in Subclause 6.2.2, which may be used. The two predicate languages are: a CQL_TEXT is a text encoding of the BNF. b FILTER is an XML encoding of the BNF grammar and is normatively defined in the Filter Encoding Implementation Specification, version 1.1.0 [OGC 04-095]. All CSW implementations are required to support this filter syntax. Table 55 defines the parameters required to specify a predicate in keyword-value pair encoded CSW operation requests. NOTE In Clause 10, tables are used to describe the parameters of each CSW request. The name of each parameter is taken from the XML encoding of the request, unless the parameter is not applicable in the XML encoding in which case the name used in the KVP encoding is used. XML element names are case sensitive and are presented in the tables using the correct case. KVP parameter names are case insensitive and are presented in the tables in UPPER case. For example, in Table 55, the parameter Constraint is specified using its XML encoding, while the parameter CONSTRAINT_LANGUAGE which is implied in the XML encoding is specified using the KVP encoding and is in upper case. 126 Copyright © 2007 Open Geospatial Consortium, Inc. All Rights Reserved. Table 55 — KVP encoding for constraints Keyword b Description Data type and value Optionality CONSTRAINT_LANGUAGE Identifies the predicate language used for the value of the Constraint Code List with allowed values: CQL_TEXT, used to indicate CQL. FILTER, used to indicate OGC Filter. Zero or one Optional a Must be specified with the Constraint CONSTRAINT_LANGUAGE_VERSION Identifies the version of the predicate language used. Character String Zero or one There is no default as the parameter is specified if required to indicate which version of a specification the value of the constraint parameter conforms to. Constraint Text of query constraint in the predicate language identified by the CONSTRAINT ‌_ LANGUAGE Character String Zero or one Optional Must be specified with the CONSTRAINT ‌_LANG UAGE a The CONSTRAINT_LANGUAGE parameter contains the same information as the contents of the Constraint element in XML encoding. b Parameter keywords, for KVP encoding, are case insensitive. The following XML schema fragments define how the predicate language may be XML encoded in CSW operations that allow constraints to be defined Query, Update and Delete: xsd:complexType name=QueryConstraintType id=QueryConstraintType xsd:choice xsd:element ref=ogc:Filter xsd:element name=CqlText type=xsd:string xsd:choice xsd:attribute name=version type=xsd:string use=required xsd:attribute xsd:complexType The version parameter may be used to specify a version number indicating which version of a specification the constraint conforms to. For example, in the XML encoding, if the ogc:Filter element is being used, the version parameter could be set to “1.1.0” indicating that the filter conforms to version 1.1.0 of the Filter Encoding Implementation Specification [OGC 04-095].

10.3.5 General model message mapping