MDSYS.SDO_CSW_PROCESSパッケージには、Catalog Services for the Web(CSW)のサポートに関連する各種処理操作を行うサブプログラムが含まれています。
この章で説明するサブプログラムを使用する場合は、Catalog Services for the Webの概念および使用方法を理解しておく必要があります(第16章を参照)。
表22-1にCSW処理のサブプログラムを示します。
表22-1 CSWの処理操作のサブプログラム
サブプログラム | 説明 |
---|---|
SDO_CSW_PROCESS.DeleteCapabilitiesInfo |
SDO_CSW_PROCESS.InsertCapabilitiesInfoプロシージャによって設定されている機能情報を削除します。 |
SDO_CSW_PROCESS.DeleteDomainInfo |
レコード・タイプに関連するドメイン情報を削除します。 |
SDO_CSW_PROCESS.DeletePluginMap |
レコード・タイプの空間コンテンツの処理と抽出を行うプラグインを登録解除します。 |
SDO_CSW_PROCESS.DeleteRecordViewMap |
レコード・ビューの変換に関連する情報を削除します。 |
SDO_CSW_PROCESS.GetRecordTypeId |
(名前空間およびタイプ名で指定された)タイプのレコード・タイプIDを取得します。 |
SDO_CSW_PROCESS.InsertCapabilitiesInfo |
機能テンプレート情報を挿入します。 |
SDO_CSW_PROCESS.InsertDomainInfo |
レコード・タイプに関連するドメイン情報を挿入します。 |
SDO_CSW_PROCESS.InsertPluginMap |
レコード・タイプの空間コンテンツの処理と抽出を行うプラグインを登録します。 |
SDO_CSW_PROCESS.InsertRecordViewMap |
レコード・ビューの変換に関連する情報を挿入します。 |
SDO_CSW_PROCESS.InsertRtDataUpdated |
データベースでレコード・タイプのデータが更新されたことを示す通知を挿入します。 |
SDO_CSW_PROCESS.InsertRtMDUpdated |
データベースでレコード・タイプのメタデータが更新されたことを示す通知を挿入します。 |
この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。
例
次の例では、SDO_CSW_PROCESS.InsertCapabilitiesInfoプロシージャによって設定されている機能情報を削除します。
BEGIN SDO_CSW_PROCESS.DeleteCapabilitiesInfo; END; /
構文
SDO_CSW_PROCESS.DeleteDomainInfo(
recordTypeId IN NUMBER,
propertyName IN VARCHAR2,
parameterName IN VARCHAR2);
使用上の注意
プラグイン(extractSDO
ファンクションのユーザー定義の実装)を登録するには、SDO_CSW_PROCESS.InsertPluginMapプロシージャを使用します。
extractSDO
ファンクションの作成方法と使用方法については、16.2.2項を参照してください。
Catalog Services for the Webのサポートについては、第16章を参照してください。
構文
SDO_CSW_PROCESS.DeleteRecordViewMap(
recordTypeNs IN VARCHAR2,
viewSrcName IN VARCHAR2,
targetTypeName IN VARCHAR2);
構文
SDO_CSW_PROCESS.InsertDomainInfo(
recordTypeId IN NUMBER,
propertyName IN VARCHAR2,
parameterName IN VARCHAR2,
pValue IN MDSYS.STRINGLIST);
構文
SDO_CSW_PROCESS.InsertPluginMap(
rtnsUrl IN VARCHAR2,
rtName IN VARCHAR2,
pluginPackageName IN VARCHAR2);
パラメータ
レコード・タイプの名前空間のURL(Uniform Resource Locator)を指定します。
レコード・タイプの名前を指定します。
プラグインのPL/SQLパッケージ・オブジェクトの名前を指定します。
構文
SDO_CSW_PROCESS.InsertRecordViewMap(
recordTypeNs IN VARCHAR2,
viewSrcName IN VARCHAR2,
targetTypeName IN VARCHAR2,
mapInfo IN XMLTYPE,
mapType IN VARCHAR2);
パラメータ
レコード・タイプの名前空間のURLを指定します。
ソース・レコード・タイプの名前(BriefRecord
、DCMIRecord
、Record
、SummaryRecord
など)を指定します。
ターゲット・レコード・タイプの名前(BriefRecord
、DCMIRecord
、Record
、SummaryRecord
など)を指定します。
マッピングのXSLT定義を指定します。(BriefRecord
タイプからRecord
タイプへの変換については、この項の最後にある例のコメントを参照してください。)
マップ・タイプ(brief、summaryなど)を指定します。
例
次の例では、BriefRecord
タイプからRecord
タイプへの変換に関連する情報を挿入します。
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);
パラメータ
レコード・タイプの名前空間を指定します。
レコード・タイプの名前を指定します。
更新された行の行IDのリストを指定します。
データが更新された日時を示すタイムスタンプ値を指定します。
使用上の注意
このプロシージャは、CSWのキャッシュ・データを同期させるために使用します。これは、MDSYS.CSW_RECORD_TYPES$システム表に問合せを行います。
Catalog Services for the Webのサポートについては、第16章を参照してください。
例
次の例では、指定したレコード・タイプについて、特定の行IDに関連付けられている行のデータが更新されたことを示す通知を挿入します。
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; /
使用上の注意
このプロシージャは、WFSのキャッシュ・メタデータを同期させるために使用します。
Catalog Services for the Webのサポートについては、第16章を参照してください。