The MDSYS.SDO_CSW_PROCESS package contains subprograms for various processing operations related to support for Catalog Services for the Web (CSW).
To use the subprograms in this chapter, you must understand the conceptual and usage information about Catalog Services for the Web in Chapter 16.
Table 22-1 lists the CSW processing subprograms.
Table 22-1 Subprograms for CSW Processing Operations
Subprogram | Description |
---|---|
Deletes the capabilities information that had been set by the SDO_CSW_PROCESS.InsertCapabilitiesInfo procedure. |
|
Deletes domain information related to a record type. |
|
Unregisters a plugin for processing and extracting spatial content for a record type. |
|
Deletes information related to record view transformation. |
|
Gets the record type ID for a type (specified by namespace and type name). |
|
Inserts the capabilities template information. |
|
Inserts domain information related to a record type. |
|
Registers a plugin for processing and extracting spatial content for a record type. |
|
Inserts information related to record view transformation. |
|
Inserts a notification that the data for a record type was updated in the database. |
|
Inserts a notification that the metadata for a record type was updated in the database. |
The rest of this chapter provides reference information on the subprograms, listed in alphabetical order.
Deletes the capabilities information that had been set by the SDO_CSW_PROCESS.InsertCapabilitiesInfo procedure.
For information about support for Catalog Services for the Web, see Chapter 16.
The following example deletes the capabilities information that had been set by the SDO_CSW_PROCESS.InsertCapabilitiesInfo procedure.
BEGIN SDO_CSW_PROCESS.DeleteCapabilitiesInfo; END; /
SDO_CSW_PROCESS.DeleteDomainInfo(
recordTypeId IN NUMBER,
propertyName IN VARCHAR2,
parameterName IN VARCHAR2);
ID of the record type.
Name of the property.
Name of domain parameter to be deleted.
For information about support for Catalog Services for the Web, see Chapter 16.
The following example deletes domain information about the resultType
parameter for a specified record type.
DECLARE rtId NUMBER; BEGIN rtId := sdo_csw_process.getRecordTypeId('http://www.opengis.net/cat/csw', 'Record'); sdo_csw_process.deleteDomainInfo(rtId, null, 'GetRecords.resultType'); END; /
Unregisters a plugin for processing and extracting non-GML spatial content for a record type.
Uniform resource locator of namespace of the record type.
Name of the record type.
To register a plugin, which is a user-defined implementation of the extractSDO
function, use the SDO_CSW_PROCESS.InsertPluginMap procedure.
For information about creating and using the extractSDO
function, see Section 16.2.2.
For information about support for Catalog Services for the Web, see Chapter 16.
SDO_CSW_PROCESS.DeleteRecordViewMap(
recordTypeNs IN VARCHAR2,
viewSrcName IN VARCHAR2,
targetTypeName IN VARCHAR2);
URL of the namespace of the record type.
Name of the source record type (for example, BriefRecord
, DCMIRecord
, Record
, or SummaryRecord
).
Name of the destination record type (for example, BriefRecord
, DCMIRecord
, Record
, or SummaryRecord
).
For information about support for Catalog Services for the Web, see Chapter 16.
Uniform resource locator (URL) of the namespace of the record type.
Name of the record type.
For information about support for Catalog Services for the Web, see Chapter 16.
XML document for the capabilities template, which is used at runtime to generate capabilities documents.
At runtime, the capabilities document is dynamically generated by binding feature type information from the CSW metadata with the capabilities template. For information about capabilities documents, see Section 16.2.1.
For information about support for Catalog Services for the Web, see Chapter 16.
SDO_CSW_PROCESS.InsertDomainInfo(
recordTypeId IN NUMBER,
propertyName IN VARCHAR2,
parameterName IN VARCHAR2,
pValue IN MDSYS.STRINGLIST);
ID of the record type
Name of a domain property.
Name of a domain parameter
An array of strings containing parameter values for parameterName
. The MDSYS.STRINGLIST type is defined as VARRAY(1000000) OF VARCHAR2(4000)
.
For information about support for Catalog Services for the Web, see Chapter 16.
The following example inserts domain information for the record type named Record
.
DECLARE rtId NUMBER; BEGIN rtId := SDO_CSW_PROCESS.getRecordTypeId( 'http://www.opengis.net/cat/csw', 'Record'); SDO_CSW_PROCESS.insertDomainInfo(rtId, null, 'GetRecords.resultType', MDSYS.STRINGLIST('hits', 'results', 'validate')); END; /
SDO_CSW_PROCESS.InsertPluginMap(
rtnsUrl IN VARCHAR2,
rtName IN VARCHAR2,
pluginPackageName IN VARCHAR2);
Registers a plugin for processing and extracting non-GML spatial content for a record type.
Uniform resource locator of the namespace of the record type.
Name of the record type.
Name of the PL/SQL package object for the plugin.
The plugin must contain the user-defined implementation of the extractSDO
function. A plugin is needed if the records are not in GML format. For detailed information about creating and using the extractSDO
function, see Section 16.2.2.
You must grant EXECUTE access on the plugin package (pluginPackageName
parameter) to user MDSYS and to the CSW administrative user.
For information about support for Catalog Services for the Web, see Chapter 16.
SDO_CSW_PROCESS.InsertRecordViewMap(
recordTypeNs IN VARCHAR2,
viewSrcName IN VARCHAR2,
targetTypeName IN VARCHAR2,
mapInfo IN XMLTYPE,
mapType IN VARCHAR2);
URL of the namespace of the record type.
Name of the source record type (for example, BriefRecord
, DCMIRecord
, Record
, or SummaryRecord
).
Name of the destination of the record type (for example, BriefRecord
, DCMIRecord
, Record
, or SummaryRecord
).
XSLT definition of the mapping. (See the comments in the example at the end of this section for a transformation from BriefRecord
type to Record
type.)
Map type (brief, summary, and so on)
For information about support for Catalog Services for the Web, see Chapter 16.
The following example inserts information related to transformation from BriefRecord
type to Record
type.
create or replace directory CSWUSERDIR as 'dir_path_where_mapinfo.xsl_file_is_located' ; /* // Content of mapinfo.xsl could be that which transforms // all <csw:BriefRecord> node to <csw:Record> node, where csw is // the namespace alias for "http://www.opengis.net/cat/csw" <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:csw="http://www.opengis.net/cat/csw"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" /> <xsl:template match="/"> <csw:Record xmlns:csw="http://www.opengis.net/cat/csw" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:ows="http://www.opengis.net/ows" xmlns:dct="http://www.purl.org/dc/terms/"> <xsl:apply-templates select="@*|node()"/> </csw:Record> </xsl:template> <xsl:template match="csw:BriefRecord"> <xsl:apply-templates select="@*|node()"/> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> */ DECLARE rtId NUMBER; BEGIN SDO_CSW_PROCESS.insertRecordViewMap('http://www.opengis.net/cat/csw', 'BriefRecord', 'Record', xmltype(bfilename('CSWUSERDIR', 'mapinfo.xsl'), nls_charset_id('AL32UTF8')), 'brief'); END; /
SDO_CSW_PROCESS.InsertRtDataUpdated(
ns IN VARCHAR2,
name IN VARCHAR2,
updatedRowList IN ROWPOINTERLIST,
updateTs IN TIMESTAMP);
Namespace of the record type.
Name of the record type.
List of rowids of rows that have been updated.
Timestamp value indicating when the data was updated.
This procedure is used for CSW cache data synchronization. It queries the MDSYS.CSW_RECORD_TYPES$ system table.
For information about support for Catalog Services for the Web, see Chapter 16.
The following example inserts a notification for a specified record type that the data was updated for the rows associated with specific rowids.
BEGIN updatedRowIdList:= . . . -- list of rowIds that have been updated -- in the table referred to by the dataPointer column of the -- mdsys.CSW_Record_Types$ table for the row whose -- typeNameNS column value is 'http://www.opengis.net/cat/csw' and -- typeName column value is 'Record' . . . SDO_CSW_PROCESS.insertRtDataUpdated('http://www.opengis.net/cat/csw', 'Record', updatedRowIdList, sysdate); . . . END; /
Namespace of the record type.
Name of the record type.
Date and time when the metadata was updated.
This procedure is used for WFS cache metadata synchronization.
For information about support for Catalog Services for the Web, see Chapter 16.