CatalogCube

From SpatiumCube

Jump to: navigation, search

Contents

Brief Introduction

Catalog Services for the Web (CSW) is an Open Geospatial Consortium communications standard developed in the context of web metadata catalogs. It's latest version 2.0.2 was released in February 2007. CatalogCube is a metadata catalog compliant with this version 2.0.2 of OGC CSW specification, and it has been developed by GeospatiumLab in collaboration with the Spanish Geographic Institute (IGN).

CatalogCube can be downloaded from SourceForge

Main Features

Its main features are the following:

  • Multi-platform (Windows, Unix). As it has been developed with J2EE, the service can be deployed on any platform with the minimum requirements of having previously installed Tomcat and a Java virtual machine. On the client side users only need a web browser with Javascript support.
  • Easy way of metadata loading. The storage of metadata records is managed directly through the file system.
  • The server side of the product supports:
    • the compulsory operations GetCapabilities, DescribeRecord, GetRecords and GetRecordById;
    • plus the transactional operations to allow users to add, delete and modify the catalog's contents.
  • With respect to metadata models, it implements both ISO19115 and DublinCore output schemas.
  • Additionally, it integrates a Web Client application to test catalog services compliant with CSW 2.0.2. This client offers a guided interface to facilitate the definition of CSW requests (including maps and other graphic components for query filter expressions) using both KVP, XML and SOAP protocols. This client interface is multilingual (currently available in Spanish, English, French, Portuguese, Catalan, Galician and the Basque language; it can be customized for other languages) and can be configured to request other catalog services compliant with CSW 2.0.2 developed with different technologies like GI-Cat or GeoNetwork.

Compilation Notes

The project includes the "build.xml" and "build.properties" files to be used with Ant. These files compile the source code and create the installer "CatalogCube.WAR". The steps to compile the source code with Ant are listed below:

  • Download and install Ant (http://ant.apache.org/). In this web page there is a manual which explains in detail how to install Ant. You need to configure the following environment variables: ANT_HOME, JAVA_HOME and PATH, the last one should be set with the value:
PATH=%PATH%;%ANT_HOME%\bin
  • Configure in the file "build.properties" the installer specific properties (*).
  • Open a command console and change to the root directory of the project (the directory which contains "build.xml", for example, E:\CatalogCube).
  • Execute the following Ant command:
ant
  • If everything has gone well, the installer "CatalogCube.WAR" should be created in the path "/build" directory. Make sure that the WAR file has been created properly by installing it in Tomcat.
 NOTE: If you want to compile the GWT source code on a MAC platform download the compiler from the Google web page
					
		http://google-web-toolkit.googlecode.com/files/gwt-mac-1.4.62.tar.gz 
			  
	and decompress it on the same path where directories gwt-windows-1.4.62 and gwt-linux-1.4.62 are located.


Notes to generate a a customized CatalogCube war

Here is a brief map of parameters and the configuration files where they can be tuned:

File Name Use
build.properties platformLib accepts "windows" and "linux" indicates the platform on which the application is been compiled
src/resources/build.properties deployment.serviceName describes the name that the application is going to take, for example CatalogCube
src/resources/build.properties deployment.tomcatWebAppsPath describes the path of Tomcat's webapps directory
src/resources/build.properties deployment.host describes the name or the IP addres of the machine/domain where the application is going to be deployed
src/resources/build.properties deployment.port port on which applications container will is listening
src/resources/build.properties deployment.repository path on which metadata will be stored
src/resources/build.properties deployment.indexesdir path on which indexes will be stored
src/resources/build.properties deployment.logsdir path on which logs will be stored
src/resources/build.properties deployment.transactionsAllowed boolean indicating whether transactional querys will be accepted or not true/false
src/resources/build.properties capabilities.title information that will be added to the capabilities title
src/resources/build.properties capabilities.providerName information that will be added to the capabilities provider name
src/resources/build.properties capabilities.individualName information that will be added to the capabilities individual name
src/resources/build.properties capabilities.positionName information that will be added to the capabilities position name
src/resources/build.properties capabilities.deliveryPoint information that will be added to the capabilities delivery point
src/resources/build.properties capabilities.city information that will be added to the capabilities city
src/resources/build.properties capabilities.administrativeArea information that will be added to the capabilities administrative area
src/resources/build.properties capabilities.postalCode information that will be added to the capabilities postal code
src/resources/build.properties capabilities.country information that will be added to the capabilities country
src/resources/build.properties capabilities.emailAddress information that will be added to the capabilities email address

Tomcat Installation Notes

Windows environments

  • Download and install the Java Development Kit (http://java.sun.com/javase/downloads/index.jsp) and set the JAVA_HOME environment variable with the JDK installation path value.
  • Download and install Tomcat (http://tomcat.apache.org), for example, in the path "C:/tomcat" (if you want to install it in other location you have to change this path in several application files). In the next steps we will refer to this path as TOMCAT_HOME. Check that you have installed Tomcat properly starting it (one way to do it is running the TOMCAT_HOME/bin/startup.bat file) and trying to load the URL "http://localhost:8080/" from the web browser, then shutdown Tomcat for the next steps (you can run the TOMCAT_HOME/bin/shutdown.bat file).
  • Create the directories where the catalog's metadata records will be stored (the default path is "C:/CatalogCube/repository") and include the metadata records desired to be loaded initially into the catalog, be sure that tomcat has privileges enough to create, modify and delete files in them.
  • Create the directory where catalog's indexes are to be generated (the default path is "C:/CatalogCube/indexes"). Be sure that tomcat has privileges enough to create, modify and delete files in it.
  • Create the directory where catalog's logs are to be generated (the default path is "C:/CatalogCube/logs"), be sure that tomcat has privileges enough to create, modify and delete files in it.
  • Deploy the CatalogCube.war file in Tomcat. This task can be done in two ways:
    • Manual. Copy the war file into the directory TOMCAT_HOME/webapps and start Tomcat (this can be achive by running the TOMCAT_HOME/bin/startup.[bat/sh] file).
    • Tomcat Manager. Start Tomcat and log in Tomcat's Manager (http://localhost:8080/manager/html). Then Browse your filesystem and select the file CatalogCube.war in the "WAR or directory URL" and click "Deploy."
  • If everything has gone well, you can load the application in the web browser with the URL:
 http://localhost:8080/CatalogCube/client.html

Linux environments

  • Download and install the Java Development Kit (http://java.sun.com/javase/downloads/index.jsp) and set the JAVA_HOME environment variable with the JDK installation path value.
  • Download and install Tomcat (http://tomcat.apache.org), for example, in the path "/usr/share/tomcat5.5/webapps/" (if you want to install it in other location you have to change this path in several application files). In the next steps we will refer to this path as TOMCAT_HOME. Check that you have installed Tomcat properly starting it (one way to do it is running the TOMCAT_HOME/bin/startup.bat file) and trying to load the URL "http://localhost:8080/" from the web browser, then shutdown Tomcat for the next steps (you can run the TOMCAT_HOME/bin/shutdown.bat file).
  • Create a user named "spatiumcube" and make sure that its home dir exists ("/home/spatiumcube")
  • Create the directories where the catalog's metadata records will be stored (the default path is "/home/spatiumcube/catalogcube/repository"), and include the metadata records desired to be loaded initially into the catalog. Be sure that tomcat has privileges enough to create, modify and delete files in them.
  • Create the directory where catalog's indexes are to be generated (the default path is "/home/spatiumcube/catalogcube/indexes"). Be sure that tomcat has privileges enough to create, modify and delete files in it.
  • Create the directory where catalog's logs are to be generated (the default path is "/home/spatiumcube/catalogcube/logs"), be sure that tomcat has privileges enough to create, modify and delete files in it.
  • Deploy the CatalogCube.war file in Tomcat. This task can be done in two ways:
    • Manual. Copy the war file into the directory TOMCAT_HOME/webapps and start Tomcat (this can be achive by running the TOMCAT_HOME/bin/startup.[bat/sh] file).
    • Tomcat Manager. Start Tomcat and log in Tomcat's Manager (http://localhost:8080/manager/html). Browse your filesystem and select the file CatalogCube.war in the "WAR or directory URL" and click "Deploy."
  • If everything has gone well, you can load the application in the web browser with the URL:
 http://localhost:8080/CatalogCube/client.html

Notes to change default installation paths and properties

This project is preconfigured to work with default paths. The following lines explain in detail the modifications to be carried out depending on the path you want to change after the deployment of the web application in Tomcat. We refer to the path where the application is deployed (TOMCAT_HOME/webapps/CatalogCube) as DEPLOYMENT_DIR.

  • METADATA REPOSITORY.

Default Windows value:

C:/CatalogCube/repository

Default Linux value:

/home/spatiumcube/catalogcube/repository

If you want to change this path you have to update it in the following file:

DEPLOYMENT_DIR/WEB-INF/classes/sourceAccess.rdf
  • METADATA INDEXES DIRECTORY.

Default Windows value:

C:/CatalogCube/indexes

Default Linux value:

/home/spatiumcube/catalogcube/indexes

If you want to change the path where indexes for search are stored you have to update it in the following file:

DEPLOYMENT_DIR/WEB-INF/classes/sourceAccess.rdf
  • LOGS DIRECTORY.

Default Windows value:

C:/CatalogCube/logs

Default Linux value:

/home/spatiumcube/catalogcube/logs

If you want to change the path where logs are stored, you have to update it in the following files:

DEPLOYMENT_DIR/WEB-INF/classes/sourceAccess.rdf
DEPLOYMENT_DIR/WEB-INF/classes/log4j.properties
  • LOG FILES.

Default Windows value:

DEPLOYMENT_DIR/logs/

Default Linux value:

DEPLOYMENT_DIR/logs/

If you want to change the path where the application logs are stored you have to update it in the following file:

DEPLOYMENT_DIR/WEB-INF/classes/log4j.properties

Common Errors

Make sure that repository,logs and indexes folders exists and tomcat user have permisions to read and write into them. Inside the indexes folder another subfolder will be created, in some environmets this subfolders cannot be created, in this case, create it manually, its names is designed at the configuration file placed in:

DEPLOYMENT_DIR/WEB-INF/classes/sourceAccess.rdf in XPATHS:

With the XPATH:

rdf:RDF/rdf:Description/iaaa:index/iaaa:Component[iaaa:class='iaaa.sourceAccess.connector.index.LuceneIndexer']/iaaa:params/iaaa:param[iaaa:paramName='PathWithInfo']/iaaa:value

In case you shutdown tomcat in an abnormal way (shutting down computer without shutting tomcat down first) indexes files might be corrupted and following executions of CatalogCube will not carry out any query, in this case, delete all the files in spatial and textual Indexes folders and restart tomcat.

OGC-CSW_CLIENT

CSW 2.0.2 Client is a web application developed with the purpose of querying any CSW 2.0.2 Server through the Internet. In next figure, application’s home page can be seen.

OGC-CSW 2.0.2 Client's main page
Figure 1: OGC-CSW 2.0.2 Client's main page

From top to bottom (as shown in previous figure), the main client’s features are:

  • Language selection
  • Communication protocol selection: XML-POST / SOAP-POST / KVP-GET
  • Dynamic CSW Server selection
  • GetCapabilities operation
  • DescribeRecord operation
  • GetRecordById operation
  • GetRecords operation

Language selection

Language selection is made by the way client is invoqued, languages supported and the way they are selected are:

Language Invocation
Spanish http://[host][:port]/CatalogCube/client.html?locale=sp
English http://[host][:port]/CatalogCube/client.html?locale=en
French http://[host][:port]/CatalogCube/client.html?locale=fr
Portuguese http://[host][:port]/CatalogCube/client.html?locale=pt
Galician http://[host][:port]/CatalogCube/client.html?locale=gl
Catalan http://[host][:port]/CatalogCube/client.html?locale=ca
Basque http://[host][:port]/CatalogCube/client.html?locale=eu














It has to be taken into account that metadata language does not depend on the client’s language, their language depends on the language they are stored in the CSW Server.

Communication Protocol selection

Communication protocol can be chosen among three options, a change in this protocol means changes at the client-server communication method, and also at the way querys are encoded.

OGC-CSW 2.0.2 Protocol selection detail
Figure 2: Protocol selection detail


As it can be seen in previous image, there are three possible choices:

  • XML-POST: XML message sent through POST protocol
  • SOAP-POST: SOAP message sent through POST protocol
  • KVP-GET: key-value pair message, sent through GET protocol

Dynamic CSW Server selection

One of the most interesting features of this client application is that target server can be dynamically selected, it can be done using the URL text box (shown in Figure 3). By default, your localhost CSW Server will appear in the URL text box.

OGC-CSW 2.0.2 Server Selector
Figure 3: OGC-CSW 2.0.2 Server Selector

GetCapabilities operation

In the “GetCapabilities” panel, any needed tool to write a GetCapabilities query can be found.

Basic GetCapabilities panel
Figure 4: Basic GetCapabilities panel

By clicking on “Launch”, a GetCapabilities query with the most popular values is launched. Nevertheless, if it is needed, “GetCapabilities” queries can be tuned by clicking on the “Advanced” button. By doing this, an advanced menu will appear. This menu is shown in Figure 5.

Advanced GetCapabilities panel
Figure 5: Advanced GetCapabilities panel

As it can be seen, the advanced menu has two tabs:

  • Parameters tab (Top shot).
  • XML tab (Botton shot).

The information introduced in any of the tabs is reflected in the other. Once the desired parameters have been introduced, “GetCapabilities” query can be sent by clicking on “Launch”. It is also possible to go back to the basic menu by clicking on “Hide”

DescribeRecord operation

In the “DescribeRecord” panel, any needed tool to write a “DescribeRecord” query can be found.

Basic DescribeRecord panel
Figure 6: Basic DescribeRecord panel

By clicking on “Launch”, a DescribeRecord query with the most popular values is launched (typeName=”csw:Record”). Nevertheless, if it is needed, “DescribeRecord” queries can be tuned by clicking on the “Advanced” button. By doing this, an advanced menu will appear. This menu is shown in Figure 7

Advanced DescribeRecord panel
Figure 7: Advanced DescribeRecord panel

As it can be seen, the advanced menu has two tabs:

  • Parameters tab (Top shot).
  • XML tab (Botton shot).

The information introduced in any of the tabs is reflected in the other. Once the desired parameters have been introduced, the “DescribeRecord” query can be launched by clicking on “Launch”. It is also possible to go back to the basic menu by clicking on “Hide”

GetRecordById operation

In the “GetRecordById” panel, any needed tool to write a “GetRecordById” query can be found.

Basic GetRecordById panel
Figure 8: Basic GetRecordById panel

In the case of “GetRecordById”, it is needed to introduce, at least, one register identifier. The rest of parameters are preconfigured, as well as in the rest of the operations described before.

If the “Advanced” button is pressed, the advanced will appear. This menu can be seen in Figure 9.

Advanced GetRecordById panel
Figure 9: Advanced GetRecordById panel

As it can be seen, the advanced menu has two tabs:

  • Parameters tab (Top shot).
  • XML tab (Botton shot).

The information introduced in any of the tabs is reflected in the other. Once the desired parameters have been introduced, the “GetRecordById” query can be launched by clicking on “Launch”. It is also possible to go back to the basic menu by clicking on “Hide”

GetRecords operation

In the “GetRecords” panel, any needed tool to write a “GetRecords” query can be found.

Basic GetRecords panel
Figure 10: Basic GetRecords panel

This opperation is described in the CSW 2.0.2 Standard as the search operation. At the basic “GetRecords” panel, it is possible to use four different criterions:

  • Theme
  • Category
  • Provider
  • Geographic Extent

Theme Criterion

This criterion creates a complex query joining three fields: title, subject and description. It is possible to use ‘%’ as a wildcard. If you want to use ‘%’ literally, it must be escaped with ‘/’.

GetRecords Theme Criterion detail
Figure 11: GetRecords Theme Criterion detail

Category Criterion

Category criterion consists of a controlled list containing some possible categories

GetRecords Category Criterion detail
Figure 12: GetRecords Category Criterion detail

Provider Criterion

Provider criterion constructs queries about registers’ provider.

GetRecords Provider Criterion detail
Figure 13: GetRecords Provider Criterion detail

Geographic Extent

This criterion enables de possibility of querying a CSW server using a geographic restriction (Bounding Box). In order to use this criterion, it is necessary to activate the “Use map” checkbox.

GetRecords Geographic Extent Criterion detail
Figure 14: GetRecords Geographic Extent Criterion detail

Once the criterion is activated, it is possible to center or reduce/enlarge the map in order to zoom on the area you are willing to restrict your search.

Advanced Search

As well as in the rest of operations panels, “GetRecords” also has an advanced menu which is shown by clicking on “Advanced Search”.

Advanced GetRecords panel
Figure 15: Advanced GetRecords panel

As it can be seen, the advanced menu has two tabs:

  • Parameters tab(Top shot).
  • XML tab(Botton shot).

The information introduced in any of the tabs is reflected in the other. Once the desired parameters have been introduced, the “GetRecordById” query can be launched by clicking on “Launch”. It is also possible to go back to the basic menu by clicking on “Back to Criterions”

Results Page

Once a query has been sent and solved, a new tab, containing the server response, will appear as shown in Figure 16.

Results Page
Figure 16: Results Page

Servers’ responses are formatted y two different ways: HTML Results and XML Results, in both tabs the information is the same but not the format.

Query Examples

Query operations:

  1. GetCapabilities
  2. DescribeRecords
  3. GetRecordsById
  4. GetRecords

Transactional operations:

  1. Insert
  2. Update
  3. Delete

GetCapabilities

POST query

<?xml version="1.0" encoding="ISO-8859-1"?>
<GetCapabilities xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
	service="CSW">
</GetCapabilities>

GET query

http://[host][:puerto]/CatalogCube/servlet/cswservlet?request=GetCapabilities&version=2.0.2

Response

<?xml version="1.0" encoding="ISO-8859-1"?>
<csw:Capabilities version="2.0.2"
	xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:gmd="http://www.isotc211.org/2005/gmd"
	xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2   http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
	<ows:ServiceIdentification>
		<ows:ServiceType>CSW</ows:ServiceType>
		<ows:ServiceTypeVersion>2.0.2</ows:ServiceTypeVersion>
		<ows:Fees>NONE</ows:Fees>
		<ows:AccessConstraints>NONE</ows:AccessConstraints>
	</ows:ServiceIdentification>
	<ows:ServiceProvider>
		<ows:ProviderName>providerName</ows:ProviderName>
		<ows:ProviderSite xlink:href="" />
		<ows:ServiceContact>
			<ows:IndividualName>individualName</ows:IndividualName>
			<ows:PositionName>Developer</ows:PositionName>
			<ows:ContactInfo>
				<ows:Phone>
					<ows:Voice></ows:Voice>
					<ows:Facsimile />
				</ows:Phone>
				<ows:Address>
					<ows:DeliveryPoint></ows:DeliveryPoint>
					<ows:City></ows:City>
					<ows:AdministrativeArea></ows:AdministrativeArea>
					<ows:PostalCode></ows:PostalCode>
					<ows:Country></ows:Country>
					<ows:ElectronicMailAddress></ows:ElectronicMailAddress>
				</ows:Address>
				<ows:OnlineResource xlink:href="mailto:@" />
			</ows:ContactInfo>
		</ows:ServiceContact>
	</ows:ServiceProvider>
	<ows:OperationsMetadata>
		<ows:Operation name="GetCapabilities">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="" />
					<ows:Post xlink:href="" />
				</ows:HTTP>
			</ows:DCP>
		</ows:Operation>
		<ows:Operation name="DescribeRecord">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="" />
					<ows:Post xlink:href="" />
				</ows:HTTP>
			</ows:DCP>
			<ows:Parameter name="typeName">
				<ows:Value>csw:Record</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="outputFormat">
				<ows:Value>text/xml</ows:Value>
				<ows:Value>application/xml</ows:Value>
				<ows:Value>text/html</ows:Value>
				<ows:Value>text/plain</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="schemaLanguage">
				<ows:Value>XMLSCHEMA</ows:Value>
			</ows:Parameter>
		</ows:Operation>
		<ows:Operation name="GetRecords">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="" />
					<ows:Post xlink:href="" />
				</ows:HTTP>
			</ows:DCP>
			<ows:Parameter name="TypeName">
				<ows:Value>Record</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="outputFormat">
				<ows:Value>text/xml</ows:Value>
				<ows:Value>application/xml</ows:Value>
				<ows:Value>text/html</ows:Value>
				<ows:Value>text/plain</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="outputSchema">
				<ows:Value>http://www.opengis.net/cat/csw/2.0.2</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="resultType">
				<ows:Value>hits</ows:Value>
				<ows:Value>results</ows:Value>
				<ows:Value>validate</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="ElementSetName">
				<ows:Value>brief</ows:Value>
				<ows:Value>summary</ows:Value>
				<ows:Value>full</ows:Value>
			</ows:Parameter>
			<ows:Parameter name="CONSTRAINTLANGUAGE">
				<ows:Value>Filter</ows:Value>
			</ows:Parameter>
		</ows:Operation>
		<ows:Operation name="GetRecordById">
			<ows:DCP>
				<ows:HTTP>
					<ows:Get xlink:href="" />
					<ows:Post xlink:href="" />
				</ows:HTTP>
			</ows:DCP>
			<ows:Parameter name="ElementSetName">
				<ows:Value>brief</ows:Value>
				<ows:Value>summary</ows:Value>
				<ows:Value>full</ows:Value>
			</ows:Parameter>
		</ows:Operation>
		<ows:Operation name="Transaction">
			<ows:DCP>
				<ows:HTTP>
					<ows:Post xlink:href="http://localhost:8080/EV-CSW/servlet/cswservlet" />
				</ows:HTTP>
			</ows:DCP>
		</ows:Operation>
		<ows:Parameter name="service">
			<ows:Value>CSW</ows:Value>

		</ows:Parameter>
		<ows:Parameter name="version">
			<ows:Value>2.0.2</ows:Value>
		</ows:Parameter>
		<ows:Constraint name="IsoProfiles">
			<ows:Value>http://www.isotc211.org/2005/gmd</ows:Value>
		</ows:Constraint>
		<ows:ExtendedCapabilities />
	</ows:OperationsMetadata>
	<ogc:Filter_Capabilities>
		<ogc:Spatial_Capabilities>
			<ogc:GeometryOperands>
				<ogc:GeometryOperand>gml:Envelope</ogc:GeometryOperand>
			</ogc:GeometryOperands>
			<ogc:SpatialOperators>
				<ogc:SpatialOperator name="BBOX" />
				<ogc:SpatialOperator name="Equals" />
				<ogc:SpatialOperator name="Intersects" />
				<ogc:SpatialOperator name="Touches" />
				<ogc:SpatialOperator name="Crosses" />
				<ogc:SpatialOperator name="Contains" />
				<ogc:SpatialOperator name="Overlaps" />
			</ogc:SpatialOperators>
		</ogc:Spatial_Capabilities>
		<ogc:Scalar_Capabilities>
			<ogc:LogicalOperators />
			<ogc:ComparisonOperators>
				<ogc:ComparisonOperator>Like</ogc:ComparisonOperator>
				<ogc:ComparisonOperator>Between</ogc:ComparisonOperator>
				<ogc:ComparisonOperator>NullCheck</ogc:ComparisonOperator>
			</ogc:ComparisonOperators>
			<ogc:ArithmeticOperators>
				<ogc:Functions>
					<ogc:FunctionNames>
						<ogc:FunctionName nArgs="1">COUNT</ogc:FunctionName>
						<ogc:FunctionName nArgs="1">DISTINCT
						</ogc:FunctionName>
						<ogc:FunctionName nArgs="1">MIN</ogc:FunctionName>
						<ogc:FunctionName nArgs="1">MAX</ogc:FunctionName>
						<ogc:FunctionName nArgs="1">UPPER</ogc:FunctionName>
					</ogc:FunctionNames>
				</ogc:Functions>
			</ogc:ArithmeticOperators>
		</ogc:Scalar_Capabilities>
		<ogc:Id_Capabilities>
			<ogc:EID />
		</ogc:Id_Capabilities>
	</ogc:Filter_Capabilities>
</csw:Capabilities>

DescribeRecords

POST query

<?xml version="1.0" encoding="ISO-8859-1"?>
<csw:DescribeRecord xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
	xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" version="2.0.2"
	outputFormat="application/xml" schemaLanguage="XMLSCHEMA">
	<csw:TypeName>Record</csw:TypeName>
</csw:DescribeRecord>

GET query

http://[host][:puerto]/CatalogCube/servlet/cswservlet?request=DescribeRecord&version=2.0.2&outputFormat=application/xml&schemaLanguage=XMLSCHEMA&typeName=Record&namespace=xmlns(csw=http://www.opengis.net/cat/csw/2.0.2)

Response

<?xml version="1.0" encoding="ISO-8859-15"?>
<DescribeRecordResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
	<SchemaComponent targetNamespace="http://ww.opengis.net/cat/csw/2.0.2/"
		schemaLanguage="XMLSCHEMA" parentSchema="http:/ww.opengis.net/cat/csw/2.0.2/record.xsd">
		<xsd:schema id="csw-record" targetNamespace="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/"
			xmlns:ows="http://www.opengis.net/ows" elementFormDefault="qualified"
			version="2.0.2">
			<xsd:element name="Record" type="csw:RecordType"
				substitutionGroup="csw:AbstractRecord" />
			<xsd:complexType name="RecordType" final="#all">
				<xsd:annotation>
					<xsd:documentation xml:lang="en">
						This type extends DCMIRecordType to add ows:BoundingBox;
						it may be used to specify a spatial envelope for the
						catalogued resource.
        </xsd:documentation>
				</xsd:annotation>
				<xsd:complexContent>
					<xsd:extension base="csw:DCMIRecordType">
						<xsd:sequence>
							<xsd:element name="AnyText" type="csw:EmptyType"
								minOccurs="0" maxOccurs="unbounded" />
							<xsd:element ref="ows:BoundingBox" minOccurs="0"
								maxOccurs="unbounded" />
						</xsd:sequence>
					</xsd:extension>
				</xsd:complexContent>
			</xsd:complexType>
		</xsd:schema>
	</SchemaComponent>
</DescribeRecordResponse>

GetRecordsById

POST query

<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecordById xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
	service="CSW" version="2.0.2">
	<Id>10000000_es</Id>
	<ElementSetName>full</ElementSetName>
</GetRecordById>

GET query

http://[host][:puerto]/CatalogCube/servlet/cswservlet?request=GetRecordById&Id=10000000_es&elementSetName=full

Response

<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecordByIdResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
	<csw:Record xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows"
		xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
		<dc:language>es</dc:language>
		<dc:identifier>10000000_es</dc:identifier>
		<dc:description>Localització sobre el territori d'equipaments i
			serveis tals com Ensenyament, Polígons Industrials, Museus,
			Biblioteques, Sanitat, Oficines de turisme, Policia Local i
			Ajuntament.</dc:description>
		<dc:language>Catalan</dc:language>
		<dc:subject />
		<dc:subject />
		<dc:type />
	</csw:Record>
</GetRecordByIdResponse>

GetRecords

DublinCore format response

POST query
<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecords xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:schemaLocation="http://www.opengis.net/cat/csw/2.0.2://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
	service="CSW" version="2.0.2" resultType="results" outputFormat="application/xml"
	outputSchema="http://www.opengis.net/cat/csw/2.0.2">
	<Query typeNames="csw:Record">
		<ElementSetName>full</ElementSetName>
		<Constraint version="1.1.0">
			<Filter>
				<Or>
					<Or>
						<PropertyIsLike>
							<PropertyName>description</PropertyName>
							<Literal>Madrid</Literal>
						</PropertyIsLike>
						<PropertyIsLike>
							<PropertyName>subject</PropertyName>
							<Literal>Madrid</Literal>
						</PropertyIsLike>
					</Or>
					<PropertyIsLike>
						<PropertyName>title</PropertyName>
						<Literal>Madrid</Literal>
					</PropertyIsLike>
				</Or>
			</Filter>
		</Constraint>
	</Query>
</GetRecords>
GET query

http://[host][:puerto]/CatalogCube/servlet/cswservlet?request=GetRecords&version=2.0.2&outputFormat=application/xml&outputSchema=http://www.opengis.net/cat/csw/2.0.2&TypeNames=csw:Record&elementSetName=full&resultType=results&constraintLanguage=Filter&constraint=<Filter><Or><Or><PropertyIsLike><PropertyName>description</PropertyName><Literal>madrid</Literal></PropertyIsLike><PropertyIsLike><PropertyName>subject</PropertyName><Literal>madrid</Literal></PropertyIsLike></Or><PropertyIsLike><PropertyName>title</PropertyName><Literal>madrid</Literal></PropertyIsLike></Or></Filter>

Response
<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecordsResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
	<RequestId>155.210.155.167</RequestId>
	<SearchStatus timestamp="2008-8-19T10:6:10+01:00" />
	<SearchResults resultSetId="identificador" elementSet="brief"
		recordSchema="csw:Record" numberOfRecordsMatched="13"
		numberOfRecordsReturned="10" nextRecord="11">
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNBCN200SERIE200606010000</dc:identifier>
			<dc:title>Base Cartográfica Numérica 1:200.000</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNBCN25SERIE200607040000</dc:identifier>
			<dc:title>Base Cartográfica Numérica 1:25.000</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNBDLL25SERIE200606010000</dc:identifier>
			<dc:title>Base de Datos de Líneas Límite 1:25.000 (Provincias)
			</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMAPASRELIEVESERIE200701180000</dc:identifier>
			<dc:title>Mapas en Relieve</dc:title>
			<dc:type>dataset</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMDT200SERIE200606010000</dc:identifier>
			<dc:title>Modelo Digital del Terreno 1:200.000</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMDT25SERIE200606010000</dc:identifier>
			<dc:title>Modelo Digital del Terreno 1:25.000</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMP200SERIE200605270000</dc:identifier>
			<dc:title>Mapa Provincial de España 1:200.000</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMTN25PAPELSERIE200612260000</dc:identifier>
			<dc:title>Mapa Topográfico Nacional 1:25.000 (papel)</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMTN25RASTERSERIE20060530000</dc:identifier>
			<dc:title>Mapa Topográfico Nacional 1:25000 (raster)</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>ESIGNMTN25VECTORSERIE200612260000</dc:identifier>
			<dc:title>Mapa Topográfico Nacional 1:25.000 (digital-vector)
			</dc:title>
			<dc:type>series</dc:type>
		</csw:BriefRecord>
	</SearchResults>
</GetRecordsResponse>

ISO format response

POST query
<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecords xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:gmd="http://www.isotc211.org/2005/gmd"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:schemaLocation="http://www.opengis.net/cat/csw/2.0.2://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"
	service="CSW" version="2.0.2" resultType="results" outputFormat="application/xml"
	outputSchema="http://www.isotc211.org/2005/gmd">
	<Query typeNames="gmd:MD_Metadata">
		<ElementSetName>full</ElementSetName>
		<Constraint version="1.1.0">
			<Filter>
				<Or>
					<Or>
						<PropertyIsLike>
							<PropertyName>description</PropertyName>
							<Literal>Madrid</Literal>
						</PropertyIsLike>
						<PropertyIsLike>
							<PropertyName>subject</PropertyName>
							<Literal>Madrid</Literal>
						</PropertyIsLike>
					</Or>
					<PropertyIsLike>
						<PropertyName>title</PropertyName>
						<Literal>Madrid</Literal>
					</PropertyIsLike>
				</Or>
			</Filter>
		</Constraint>
	</Query>
</GetRecords>
GET query

http://[host][:puerto]/CatalogCube/servlet/cswservlet?request=GetRecords&version=2.0.2&outputFormat=application/xml&outputSchema=http://www.isotc211.org/2005/gmd&TypeNames=gmd:MD_Metadata&elementSetName=full&resultType=results&constraintLanguage=Filter&constraint=<Filter><Or><Or><PropertyIsLike><PropertyName>description</PropertyName><Literal>madrid</Literal></PropertyIsLike><PropertyIsLike><PropertyName>subject</PropertyName><Literal>madrid</Literal></PropertyIsLike></Or><PropertyIsLike><PropertyName>title</PropertyName><Literal>madrid</Literal></PropertyIsLike></Or></Filter>

Response
<?xml version="1.0" encoding="ISO-8859-1"?>
<GetRecordsResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:ows="http://www.opengis.net/ows" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 ://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
	<RequestId>155.210.155.131</RequestId>
	<SearchStatus timestamp="2009-10-16T9:39:10+01:00" />
	<SearchResults resultSetId="identificador" elementSet="gmd:md_metadata"
		recordSchema="gmd:MD_Metadata" numberOfRecordsMatched="15"
		numberOfRecordsReturned="10" nextRecord="11">
		<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
			xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml"
			xmlns:gco="http://www.isotc211.org/2005/gco">
			<gmd:fileIdentifier>
				<gco:CharacterString>ESIGNMAPASRELIEVESERIE200701180000
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="dataset">dataset</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:organisationName>
						<gco:CharacterString></gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString></gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gco:CharacterString>...</gco:CharacterString>
						</gmd:positionName>
							...
		</gmd:MD_Metadata>
		<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
			xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml"
			xmlns:gco="http://www.isotc211.org/2005/gco">
			<gmd:fileIdentifier>
				<gco:CharacterString>ESIGNMTN25VECTORSERIE200612260000
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="series">series</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					....
		</gmd:MD_Metadata>
		<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
			xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml"
			xmlns:gco="http://www.isotc211.org/2005/gco">
			<gmd:fileIdentifier>
				<gco:CharacterString>ESIGNMTN50papelSERIE200701180000
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="series">series</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="originator">originator</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			<gmd:dateStamp>
				<gco:Date>2007-01-18</gco:Date>
				...
		</gmd:MD_Metadata>
		<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd"
			xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml"
			xmlns:gco="http://www.isotc211.org/2005/gco">
			<gmd:fileIdentifier>
				<gco:CharacterString>ESIGNMTN50vectorSERIE200701180000
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="series">series</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="pointOfContact">pointOfContact</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:contactInfo>
						<gmd:CI_Contact>
							<gmd:phone>
								<gmd:CI_Telephone>
									<gmd:voice>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:voice>
									<gmd:facsimile>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:facsimile>
								</gmd:CI_Telephone>
							</gmd:phone>
							<gmd:address>
								<gmd:CI_Address>
									<gmd:deliveryPoint>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:deliveryPoint>
									<gmd:city>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:city>
									<gmd:administrativeArea>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:administrativeArea>
									<gmd:postalCode>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:postalCode>
									<gmd:country>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:country>
									<gmd:electronicMailAddress>
										<gco:CharacterString>...</gco:CharacterString>
									</gmd:electronicMailAddress>
								</gmd:CI_Address>
							</gmd:address>
							<gmd:onlineResource>
								<gmd:CI_OnlineResource>
									<gmd:linkage>
										<gmd:URL>...</gmd:URL>
									</gmd:linkage>
								</gmd:CI_OnlineResource>
							</gmd:onlineResource>
							<gmd:contactInstructions>
								<gco:CharacterString>...</gco:CharacterString>
							</gmd:contactInstructions>
						</gmd:CI_Contact>
					</gmd:contactInfo>
					...
		</gmd:MD_Metadata>
		...
	</SearchResults>
</GetRecordsResponse>

Transaction

Insert

POST query
<?xml version="1.0" encoding="UTF-8"?>
<Transaction xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	service="CSW" version="2.0.2">
	<Insert>
		<gmd:MD_Metadata xmlns:xlink="http://www.w3.org/1999/xlink"
			xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco"
			xmlns:gml="http://www.opengis.net/gml">
			<gmd:fileIdentifier>
				<gco:CharacterString>a028211a-74e4-4c11-8554-a12735100521
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:parentIdentifier>
				<gco:CharacterString>BCN25</gco:CharacterString>
			</gmd:parentIdentifier>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="dataset">dataset</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="originator">originator</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			...
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:verticalElement>
						<gmd:EX_VerticalExtent>
							<gmd:minimumValue>
								<gco:Real>0.0</gco:Real>
							</gmd:minimumValue>
							<gmd:maximumValue>
								<gco:Real>0.0</gco:Real>
							</gmd:maximumValue>
							<gmd:verticalCRS>
								<gml:VerticalCRS gml:id="verticalCRSN65862">
									<gml:identifier codeSpace="
" />
									<gml:scope />
									<gml:verticalCS>
										<gml:VerticalCS gml:id="verticalCSN65862">
											<gml:identifier codeSpace="
" />
											<gml:axis>
												<gml:CoordinateSystemAxis gml:uom="

"
													gml:id="coordinateSystemAxisN65862">
													<gml:identifier codeSpace="
" />
													<gml:axisAbbrev />
													<gml:axisDirection codeSpace="
" />
												</gml:CoordinateSystemAxis>
											</gml:axis>
										</gml:VerticalCS>
									</gml:verticalCS>
									<gml:verticalDatum>
										<gml:VerticalDatum gml:id="verticalDatumN65862">
											<gml:identifier codeSpace="
" />
											<gml:name />
											<gml:scope />
										</gml:VerticalDatum>
									</gml:verticalDatum>
								</gml:VerticalCRS>
							</gmd:verticalCRS>
						</gmd:EX_VerticalExtent>
					</gmd:verticalElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:temporalElement>
						<gmd:EX_TemporalExtent>
							<gmd:extent>
								<gml:TimePeriod gml:id="N65907">
									<gml:begin>
										<gml:TimeInstant gml:id="N65911">
											<gml:timePosition>1997-01-01</gml:timePosition>
										</gml:TimeInstant>
									</gml:begin>
									<gml:end>
										<gml:TimeInstant gml:id="N65920">
											<gml:timePosition>2006-01-01</gml:timePosition>
										</gml:TimeInstant>
									</gml:end>
								</gml:TimePeriod>
							</gmd:extent>
						</gmd:EX_TemporalExtent>
					</gmd:temporalElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:geographicElement>
						<gmd:EX_GeographicBoundingBox>
							<gmd:westBoundLongitude>
								<gco:Decimal>-18.0856765366164609076804481446743011474609375
								</gco:Decimal>
							</gmd:westBoundLongitude>
							<gmd:eastBoundLongitude>
								<gco:Decimal>4.31267443652647575191849682596512138843536376953125
								</gco:Decimal>
							</gmd:eastBoundLongitude>
							<gmd:southBoundLatitude>
								<gco:Decimal>27.60837803167844839435929316096007823944091796875
								</gco:Decimal>
							</gmd:southBoundLatitude>
							<gmd:northBoundLatitude>
								<gco:Decimal>43.66654346829268007468272116966545581817626953125
								</gco:Decimal>
							</gmd:northBoundLatitude>
						</gmd:EX_GeographicBoundingBox>
					</gmd:geographicElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:supplementalInformation>
				<gco:CharacterString>Cobertura completada: 99%úmero de coordenadas:
					2x, y: metrosz: no aplicade calidad: no disponible
				</gco:CharacterString>
			</gmd:supplementalInformation>
		</gmd:MD_DataIdentification>
		</gmd:identificationInfo>
			<gmd:contentInfo>
				<gmd:MD_FeatureCatalogueDescription>
					<gmd:complianceCode>
						<gco:Boolean>0</gco:Boolean>
					</gmd:complianceCode>
					<gmd:includedWithDataset />
					<gmd:featureCatalogueCitation />
				</gmd:MD_FeatureCatalogueDescription>
			</gmd:contentInfo>
			...
			<gmd:distributionInfo>
				<gmd:MD_Distribution>
					<gmd:distributionFormat>
						<gmd:MD_Format>
							<gmd:name>
								<gco:CharacterString>ARCE - ARC/INFO Export format
								</gco:CharacterString>
							</gmd:name>
							<gmd:version />
						</gmd:MD_Format>
					</gmd:distributionFormat>
					...
					<gmd:transferOptions>
						<gmd:MD_DigitalTransferOptions>
							<gmd:onLine>
								<gmd:CI_OnlineResource>
									<gmd:linkage />
								</gmd:CI_OnlineResource>
							</gmd:onLine>
							<gmd:offLine>
								<gmd:MD_Medium />
							</gmd:offLine>
						</gmd:MD_DigitalTransferOptions>
					</gmd:transferOptions>
				</gmd:MD_Distribution>
			</gmd:distributionInfo>
			<gmd:dataQualityInfo>
				<gmd:DQ_DataQuality>
					<gmd:scope>
						<gmd:DQ_Scope>
							<gmd:level>
								<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
									codeListValue="dataset">dataset</gmd:MD_ScopeCode>
							</gmd:level>
						</gmd:DQ_Scope>
					</gmd:scope>
					<gmd:lineage>
						<gmd:LI_Lineage>
							<gmd:processStep>
								<gmd:LI_ProcessStep>
									<gmd:description>
										<gco:CharacterString>Planimetría de BCN25acotados,
											hidrografía, cultivos y vegetación, edificaciones y
											construcciones, vías de comunicación, conducciones y
											transmisiones: proporcionar una infraestructura básica de
											datos geográficos al sector SIG español:
											1º Selección de geometría que representa entes del mundo real,
											desechando símbolos puntuales, lineales, superficiales y todo
											aquello cuyo fin exclusivo es el trazado del mapa:
											cuadrícula, leyenda, etc
											2º Tratamiento geométrico:
											- eliminación de puntos supérfluos y repetidos;
											- eliminación de bucles y vueltas atrás;
											- eliminación de líneas repetidas, incluidas y solapadas;
											- resolución de intersecciones entre elementos;
											- resolución de anclajes; detección y resolución, si procee,
											de extremos libres;
											- unificación de elementos del mismo código y nombre dentro de
											tolerancia;
											- tratamiento de elementos perimetrales; creación de los
											contornos relativos a casos de población;
											- y case geométrico entre hojas
											4º Tratamiento semántico: codificación y asignación de nombres
											5º Cases entre hojas limítrofes</gco:CharacterString>
									</gmd:description>
									<gmd:dateTime>
										<gco:DateTime>1997-01-01</gco:DateTime>
									</gmd:dateTime>
									<gmd:processor>
										<gmd:CI_ResponsibleParty>
											<gmd:organisationName>
												<gco:CharacterString>...</gco:CharacterString>
											</gmd:organisationName>
											<gmd:contactInfo>
												<gmd:CI_Contact>
													<gmd:phone>
														<gmd:CI_Telephone />
													</gmd:phone>
													<gmd:address>
														<gmd:CI_Address />
													</gmd:address>
													<gmd:onlineResource>
														<gmd:CI_OnlineResource>
															<gmd:linkage />
														</gmd:CI_OnlineResource>
													</gmd:onlineResource>
												</gmd:CI_Contact>
											</gmd:contactInfo>
											<gmd:role>
												<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
													codeListValue="" />
											</gmd:role>
										</gmd:CI_ResponsibleParty>
									</gmd:processor>
									<gmd:source>
										<gmd:LI_Source>
											<gmd:scaleDenominator>
												<gmd:MD_RepresentativeFraction>
													<gmd:denominator>0</gmd:denominator>
												</gmd:MD_RepresentativeFraction>
											</gmd:scaleDenominator>
											<gmd:sourceCitation>
												<gmd:CI_Citation>
													<gmd:title>
														<gco:CharacterString>...</gco:CharacterString>
													</gmd:title>
													<gmd:date />
													<gmd:identifier>
														<gmd:MD_Identifier>
															<gmd:authority>
																<gmd:CI_Citation>
																	<gmd:title />
																	<gmd:date />
																</gmd:CI_Citation>
															</gmd:authority>
															<gmd:code />
														</gmd:MD_Identifier>
													</gmd:identifier>
												</gmd:CI_Citation>
											</gmd:sourceCitation>
										</gmd:LI_Source>
									</gmd:source>
								</gmd:LI_ProcessStep>
							</gmd:processStep>
							...
						</gmd:LI_Lineage>
					</gmd:lineage>
				</gmd:DQ_DataQuality>
			</gmd:dataQualityInfo>
			<gmd:metadataConstraints>
				<gmd:MD_LegalConstraints />
			</gmd:metadataConstraints>
			<gmd:metadataConstraints>
				<gmd:MD_SecurityConstraints>
					<gmd:classification>
						<gmd:MD_ClassificationCode
							codeList="./resources/codeList.xml#MD_ClassificationCode"
							codeListValue="" />
					</gmd:classification>
				</gmd:MD_SecurityConstraints>
			</gmd:metadataConstraints>
			<gmd:applicationSchemaInfo>
				<gmd:MD_ApplicationSchemaInformation>
					<gmd:name>
						<gmd:CI_Citation>
							<gmd:title />
							<gmd:date />
							<gmd:identifier>
								<gmd:MD_Identifier>
									<gmd:authority>
										<gmd:CI_Citation>
											<gmd:title />
											<gmd:date />
										</gmd:CI_Citation>
									</gmd:authority>
									<gmd:code />
								</gmd:MD_Identifier>
							</gmd:identifier>
						</gmd:CI_Citation>
					</gmd:name>
					<gmd:schemaLanguage />
					<gmd:constraintLanguage />
					<gmd:schemaAscii>
						<gco:CharacterString><?xml version="1.0"
							encoding="ISO-8859-1"?>
							<eainfo/>
 </gco:CharacterString>
					</gmd:schemaAscii>
				</gmd:MD_ApplicationSchemaInformation>
			</gmd:applicationSchemaInfo>
		</gmd:MD_Metadata>
	</Insert>
</Transaction>
GET query

Not permitted

Response
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	version="2.0.2">
	<TransactionSummary>
		<totalInserted>1</totalInserted>
		<totalUpdated>0</totalUpdated>
		<totalDeleted>0</totalDeleted>
	</TransactionSummary>
	<InsertResult>
		<csw:BriefRecord xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengeospatial.net/ows"
			xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<dc:identifier>
				a028211a-74e4-4c11-8554-a12735100521
       </dc:identifier>
			<dc:title>Cultivos y Vegetación</dc:title>
			<dc:type>dataset</dc:type>
		</csw:BriefRecord>
	</InsertResult>
</TransactionResponse>

Update

POST query
<?xml version="1.0" encoding="UTF-8"?>
<Transaction xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2:\SCHEMAS_OPENGIS_NET\csw\2.0.2\CSW-publication.xsd"
	service="CSW" version="2.0.2">
	<Update>
		<gmd:MD_Metadata xmlns:xlink="http://www.w3.org/1999/xlink"
			xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco"
			xmlns:gml="http://www.opengis.net/gml">
			<gmd:fileIdentifier>
				<gco:CharacterString>a028211a-74e4-4c11-8554-a12735100521
				</gco:CharacterString>
			</gmd:fileIdentifier>
			<gmd:language>
				<gco:CharacterString>es</gco:CharacterString>
			</gmd:language>
			<gmd:characterSet>
				<gmd:MD_CharacterSetCode
					codeList="./resources/codeList.xml#MD_CharacterSetCode"
					codeListValue="utf8">utf8</gmd:MD_CharacterSetCode>
			</gmd:characterSet>
			<gmd:parentIdentifier>
				<gco:CharacterString>BCN25</gco:CharacterString>
			</gmd:parentIdentifier>
			<gmd:hierarchyLevel>
				<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
					codeListValue="dataset">dataset</gmd:MD_ScopeCode>
			</gmd:hierarchyLevel>
			<gmd:contact>
				<gmd:CI_ResponsibleParty>
					<gmd:individualName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:individualName>
					<gmd:organisationName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:organisationName>
					<gmd:positionName>
						<gco:CharacterString>...</gco:CharacterString>
					</gmd:positionName>
					<gmd:role>
						<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
							codeListValue="originator">originator</gmd:CI_RoleCode>
					</gmd:role>
				</gmd:CI_ResponsibleParty>
			</gmd:contact>
			...
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:verticalElement>
						<gmd:EX_VerticalExtent>
							<gmd:minimumValue>
								<gco:Real>0.0</gco:Real>
							</gmd:minimumValue>
							<gmd:maximumValue>
								<gco:Real>0.0</gco:Real>
							</gmd:maximumValue>
							<gmd:verticalCRS>
								<gml:VerticalCRS gml:id="verticalCRSN65862">
									<gml:identifier codeSpace="
" />
									<gml:scope />
									<gml:verticalCS>
										<gml:VerticalCS gml:id="verticalCSN65862">
											<gml:identifier codeSpace="
" />
											<gml:axis>
												<gml:CoordinateSystemAxis gml:uom="

"
													gml:id="coordinateSystemAxisN65862">
													<gml:identifier codeSpace="
" />
													<gml:axisAbbrev />
													<gml:axisDirection codeSpace="
" />
												</gml:CoordinateSystemAxis>
											</gml:axis>
										</gml:VerticalCS>
									</gml:verticalCS>
									<gml:verticalDatum>
										<gml:VerticalDatum gml:id="verticalDatumN65862">
											<gml:identifier codeSpace="
" />
											<gml:name />
											<gml:scope />
										</gml:VerticalDatum>
									</gml:verticalDatum>
								</gml:VerticalCRS>
							</gmd:verticalCRS>
						</gmd:EX_VerticalExtent>
					</gmd:verticalElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:temporalElement>
						<gmd:EX_TemporalExtent>
							<gmd:extent>
								<gml:TimePeriod gml:id="N65907">
									<gml:begin>
										<gml:TimeInstant gml:id="N65911">
											<gml:timePosition>1997-01-01</gml:timePosition>
										</gml:TimeInstant>
									</gml:begin>
									<gml:end>
										<gml:TimeInstant gml:id="N65920">
											<gml:timePosition>2006-01-01</gml:timePosition>
										</gml:TimeInstant>
									</gml:end>
								</gml:TimePeriod>
							</gmd:extent>
						</gmd:EX_TemporalExtent>
					</gmd:temporalElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:extent>
				<gmd:EX_Extent>
					<gmd:geographicElement>
						<gmd:EX_GeographicBoundingBox>
							<gmd:westBoundLongitude>
								<gco:Decimal>-18.0856765366164609076804481446743011474609375
								</gco:Decimal>
							</gmd:westBoundLongitude>
							<gmd:eastBoundLongitude>
								<gco:Decimal>4.31267443652647575191849682596512138843536376953125
								</gco:Decimal>
							</gmd:eastBoundLongitude>
							<gmd:southBoundLatitude>
								<gco:Decimal>27.60837803167844839435929316096007823944091796875
								</gco:Decimal>
							</gmd:southBoundLatitude>
							<gmd:northBoundLatitude>
								<gco:Decimal>43.66654346829268007468272116966545581817626953125
								</gco:Decimal>
							</gmd:northBoundLatitude>
						</gmd:EX_GeographicBoundingBox>
					</gmd:geographicElement>
				</gmd:EX_Extent>
			</gmd:extent>
			<gmd:supplementalInformation>
				<gco:CharacterString>Cobertura completada: 99%úmero de coordenadas:
					2x, y: metrosz: no aplicade calidad: no disponible
				</gco:CharacterString>
			</gmd:supplementalInformation>
		</gmd:MD_DataIdentification>
		</gmd:identificationInfo>
			<gmd:contentInfo>
				<gmd:MD_FeatureCatalogueDescription>
					<gmd:complianceCode>
						<gco:Boolean>0</gco:Boolean>
					</gmd:complianceCode>
					<gmd:includedWithDataset />
					<gmd:featureCatalogueCitation />
				</gmd:MD_FeatureCatalogueDescription>
			</gmd:contentInfo>
			...
			<gmd:distributionInfo>
				<gmd:MD_Distribution>
					<gmd:distributionFormat>
						<gmd:MD_Format>
							<gmd:name>
								<gco:CharacterString>ARCE - ARC/INFO Export format
								</gco:CharacterString>
							</gmd:name>
							<gmd:version />
						</gmd:MD_Format>
					</gmd:distributionFormat>
					...
					<gmd:transferOptions>
						<gmd:MD_DigitalTransferOptions>
							<gmd:onLine>
								<gmd:CI_OnlineResource>
									<gmd:linkage />
								</gmd:CI_OnlineResource>
							</gmd:onLine>
							<gmd:offLine>
								<gmd:MD_Medium />
							</gmd:offLine>
						</gmd:MD_DigitalTransferOptions>
					</gmd:transferOptions>
				</gmd:MD_Distribution>
			</gmd:distributionInfo>
			<gmd:dataQualityInfo>
				<gmd:DQ_DataQuality>
					<gmd:scope>
						<gmd:DQ_Scope>
							<gmd:level>
								<gmd:MD_ScopeCode codeList="./resources/codeList.xml#MD_ScopeCode"
									codeListValue="dataset">dataset</gmd:MD_ScopeCode>
							</gmd:level>
						</gmd:DQ_Scope>
					</gmd:scope>
					<gmd:lineage>
						<gmd:LI_Lineage>
							<gmd:processStep>
								<gmd:LI_ProcessStep>
									<gmd:description>
										<gco:CharacterString>Planimetría de BCN25acotados,
											hidrografía, cultivos y vegetación, edificaciones y
											construcciones, vías de comunicación, conducciones y
											transmisiones: proporcionar una infraestructura básica de
											datos geográficos al sector SIG español:
											1º Selección de geometría que representa entes del mundo real,
											desechando símbolos puntuales, lineales, superficiales y todo
											aquello cuyo fin exclusivo es el trazado del mapa:
											cuadrícula, leyenda, etc
											2º Tratamiento geométrico:
											- eliminación de puntos supérfluos y repetidos;
											- eliminación de bucles y vueltas atrás;
											- eliminación de líneas repetidas, incluidas y solapadas;
											- resolución de intersecciones entre elementos;
											- resolución de anclajes; detección y resolución, si procee,
											de extremos libres;
											- unificación de elementos del mismo código y nombre dentro de
											tolerancia;
											- tratamiento de elementos perimetrales; creación de los
											contornos relativos a casos de población;
											- y case geométrico entre hojas
											4º Tratamiento semántico: codificación y asignación de nombres
											5º Cases entre hojas limítrofes</gco:CharacterString>
									</gmd:description>
									<gmd:dateTime>
										<gco:DateTime>1997-01-01</gco:DateTime>
									</gmd:dateTime>
									<gmd:processor>
										<gmd:CI_ResponsibleParty>
											<gmd:organisationName>
												<gco:CharacterString>Instituto Geográfico Nacional (España)
												</gco:CharacterString>
											</gmd:organisationName>
											<gmd:contactInfo>
												<gmd:CI_Contact>
													<gmd:phone>
														<gmd:CI_Telephone />
													</gmd:phone>
													<gmd:address>
														<gmd:CI_Address />
													</gmd:address>
													<gmd:onlineResource>
														<gmd:CI_OnlineResource>
															<gmd:linkage />
														</gmd:CI_OnlineResource>
													</gmd:onlineResource>
												</gmd:CI_Contact>
											</gmd:contactInfo>
											<gmd:role>
												<gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode"
													codeListValue="" />
											</gmd:role>
										</gmd:CI_ResponsibleParty>
									</gmd:processor>
									<gmd:source>
										<gmd:LI_Source>
											<gmd:scaleDenominator>
												<gmd:MD_RepresentativeFraction>
													<gmd:denominator>0</gmd:denominator>
												</gmd:MD_RepresentativeFraction>
											</gmd:scaleDenominator>
											<gmd:sourceCitation>
												<gmd:CI_Citation>
													<gmd:title>
														<gco:CharacterString>...</gco:CharacterString>
													</gmd:title>
													<gmd:date />
													<gmd:identifier>
														<gmd:MD_Identifier>
															<gmd:authority>
																<gmd:CI_Citation>
																	<gmd:title />
																	<gmd:date />
																</gmd:CI_Citation>
															</gmd:authority>
															<gmd:code />
														</gmd:MD_Identifier>
													</gmd:identifier>
												</gmd:CI_Citation>
											</gmd:sourceCitation>
										</gmd:LI_Source>
									</gmd:source>
								</gmd:LI_ProcessStep>
							</gmd:processStep>
							...
						</gmd:LI_Lineage>
					</gmd:lineage>
				</gmd:DQ_DataQuality>
			</gmd:dataQualityInfo>
			<gmd:metadataConstraints>
				<gmd:MD_LegalConstraints />
			</gmd:metadataConstraints>
			<gmd:metadataConstraints>
				<gmd:MD_SecurityConstraints>
					<gmd:classification>
						<gmd:MD_ClassificationCode
							codeList="./resources/codeList.xml#MD_ClassificationCode"
							codeListValue="" />
					</gmd:classification>
				</gmd:MD_SecurityConstraints>
			</gmd:metadataConstraints>
			<gmd:applicationSchemaInfo>
				<gmd:MD_ApplicationSchemaInformation>
					<gmd:name>
						<gmd:CI_Citation>
							<gmd:title />
							<gmd:date />
							<gmd:identifier>
								<gmd:MD_Identifier>
									<gmd:authority>
										<gmd:CI_Citation>
											<gmd:title />
											<gmd:date />
										</gmd:CI_Citation>
									</gmd:authority>
									<gmd:code />
								</gmd:MD_Identifier>
							</gmd:identifier>
						</gmd:CI_Citation>
					</gmd:name>
					<gmd:schemaLanguage />
					<gmd:constraintLanguage />
					<gmd:schemaAscii>
						<gco:CharacterString><?xml version="1.0"
							encoding="ISO-8859-1"?>
							<eainfo/>
 </gco:CharacterString>
					</gmd:schemaAscii>
				</gmd:MD_ApplicationSchemaInformation>
			</gmd:applicationSchemaInfo>
		</gmd:MD_Metadata>
	</Update>
</Transaction>
GET query

Not permitted

Response
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	version="2.0.2">
	<TransactionSummary>
		<totalInserted>0</totalInserted>
		<totalUpdated>1</totalUpdated>
		<totalDeleted>0</totalDeleted>
	</TransactionSummary>
</TransactionResponse>

Delete

POST query
<?xml version="1.0" encoding="UTF-8"?>
<Transaction xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	service="CSW" version="2.0.2">
	<Delete>
		<Constraint version="">
			<ogc:Filter>
				<ogc:PropertyIsLike wildCard="*" singleChar="_"
					escapeChar="/">
					<ogc:PropertyName>title</ogc:PropertyName>
					<ogc:Literal>*</ogc:Literal>
				</ogc:PropertyIsLike>
			</ogc:Filter>
		</Constraint>
	</Delete>
</Transaction>
GET query

Not permitted

Response
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	version="2.0.2">
	<TransactionSummary>
		<totalInserted>0</totalInserted>
		<totalUpdated>0</totalUpdated>
		<totalDeleted>1</totalDeleted>
	</TransactionSummary>
</TransactionResponse>

External links

F.A.Q

How do I append metadata registers to my CatalogCube instalation?

There are 2 possible ways to append metadata registers to CatalogCube, you can either use CatalogCube transactional interface or you can add them directly to the repository folder

  • In order to append metadata registers using CatalogCube transactional interface you can go to the transactional section, bassically what you have to do is to introduce metadata register contents into an insert query :
<?xml version="1.0" encoding="UTF-8"?>
<Transaction xmlns="http://www.opengis.net/cat/csw/2.0.2"
	xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"
	service="CSW" version="2.0.2">
        <Insert>
           <!-- metadata contents -->
        </Insert>
</Transaction>

Using Transactional Interface, new registers will be indexed automatically.

WARNING: In order to use transactional mode it is required to activate this interface. To do that, go to the WEB-INF/web.xml file and change the value of the 'transactionsAllowed' variable to true.

  • If you wanted to add metadata registers directly to the repository folder, what you would have to do is to follow those steps:

1.- Stop CatalogCube
2.- Append metadata registers to the repository folder (by default it is located at c:/CatalogCube/repository in windows installations and at /home/spatiumcube/catalogcube/repository in a linux installation)
3.- Delete CatalogCube indexes folder (by default it is located at c:/CatalogCube/indexes in a windows installation and at /home/spatiumcube/catalogcube/indexes in linux installations)
4.- Finnally CatalogCube service has to be re-started

Personal tools