ヘッダーをスキップ
Oracle® Spatial開発者ガイド
11gリリース2 (11.2)
B72087-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

22 SDO_CSW_PROCESSパッケージ(CSWの処理)

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.DeleteCapabilitiesInfo

構文

SDO_CSW_PROCESS.DeleteCapabilitiesInfo();

説明

SDO_CSW_PROCESS.InsertCapabilitiesInfoプロシージャによって設定されている機能情報を削除します。

パラメータ

なし。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、SDO_CSW_PROCESS.InsertCapabilitiesInfoプロシージャによって設定されている機能情報を削除します。

BEGIN
  SDO_CSW_PROCESS.DeleteCapabilitiesInfo;
END;
/

SDO_CSW_PROCESS.DeleteDomainInfo

構文

SDO_CSW_PROCESS.DeleteDomainInfo(

     recordTypeId IN NUMBER,

     propertyName IN VARCHAR2,

    parameterName IN VARCHAR2);

説明

レコード・タイプに関連するドメイン情報を削除します。

パラメータ

recordTypeId

レコード・タイプのIDを指定します。

propertyName

プロパティの名前を指定します。

parameterName

削除するドメイン・パラメータの名前を指定します。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、指定したレコード・タイプのresultTypeパラメータに関するドメイン情報を削除します。

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;
/

SDO_CSW_PROCESS.DeletePluginMap

構文

SDO_CSW_PROCESS.DeletePluginMap(

     rtnsUrl IN VARCHAR2,

    rtName IN VARCHAR2);

説明

レコード・タイプのGML形式以外の空間コンテンツの処理と抽出を行うプラグインを登録解除します。

パラメータ

rtnsUrl

レコード・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

rtName

レコード・タイプの名前を指定します。

使用上の注意

プラグイン(extractSDOファンクションのユーザー定義の実装)を登録するには、SDO_CSW_PROCESS.InsertPluginMapプロシージャを使用します。

extractSDOファンクションの作成方法と使用方法については、16.2.2項を参照してください。

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、プラグインを登録解除します。

BEGIN
  SDO_CSW_PROCESS.deletePluginMap('http://www.opengis.net/cat/csw', 
    'Record');
END;
/

SDO_CSW_PROCESS.DeleteRecordViewMap

構文

SDO_CSW_PROCESS.DeleteRecordViewMap(

     recordTypeNs IN VARCHAR2,

     viewSrcName IN VARCHAR2,

    targetTypeName IN VARCHAR2);

説明

レコード・ビューの変換に関連する情報を削除します。

パラメータ

recordTypeNs

レコード・タイプの名前空間のURLを指定します。

viewSrcName

ソース・レコード・タイプの名前(BriefRecordDCMIRecordRecordSummaryRecordなど)を指定します。

targetTypeName

ターゲット・レコード・タイプの名前(BriefRecordDCMIRecordRecordSummaryRecordなど)を指定します。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、ソース・レコード・タイプBriefRecordおよびターゲット・レコード・タイプRecordからレコード・ビューの変換に関連する情報を削除します。

BEGIN
  SDO_CSW_PROCESS.deleteRecordViewMap('http://www.opengis.net/cat/csw',
    'BriefRecord',
    'Record');
END;
/

SDO_CSW_PROCESS.GetRecordTypeId

構文

SDO_CSW_PROCESS.GetRecordTypeId(

     rtnsUrl IN VARCHAR2,

     rtName IN VARCHAR2) RETURN NUMBER;

説明

(名前空間およびタイプ名で指定された)タイプのレコード・タイプIDを取得します。

パラメータ

rtnsUrl

レコード・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

rtName

レコード・タイプの名前を指定します。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、Recordという名前のレコード・タイプのレコード・タイプIDを取得します。

DECLARE
  rtId NUMBER;
BEGIN
  rtId := SDO_CSW_PROCESS.getRecordTypeId('http://www.opengis.net/cat/csw', 
    'Record');
END;
/

SDO_CSW_PROCESS.InsertCapabilitiesInfo

構文

SDO_CSW_PROCESS.InsertCapabilitiesInfo(

     capabilitiesInfo IN XMLTYPE);

説明

機能テンプレート情報を挿入します。

パラメータ

capabilitiesInfo

機能のドキュメントを生成するために実行時に使用される、機能テンプレートのXML文書を指定します。

使用上の注意

機能のドキュメントは、実行時に、CSWメタデータのフィーチャ・タイプ情報を機能テンプレートとバインディングすることによって動的に生成されます。機能のドキュメントについては、16.2.1項を参照してください。

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、機能テンプレート情報を挿入します。

BEGIN
  SDO_CSW_PROCESS.insertCapabilitiesInfo(
    xmltype(bfilename('CSWUSERDIR', 'cswloadcapabilities.xml'),
       nls_charset_id('AL32UTF8')));
END;
/

SDO_CSW_PROCESS.InsertDomainInfo

構文

SDO_CSW_PROCESS.InsertDomainInfo(

     recordTypeId IN NUMBER,

     propertyName IN VARCHAR2,

    parameterName IN VARCHAR2,

    pValue IN MDSYS.STRINGLIST);

説明

レコード・タイプに関連するドメイン情報を挿入します。

パラメータ

recordTypeId

レコード・タイプのIDを指定します。

propertyName

ドメイン・プロパティの名前を指定します。

parameterName

ドメイン・パラメータの名前を指定します。

pValue

parameterNameのパラメータ値を格納する文字列の配列を指定します。MDSYS.STRINGLIST型は、VARRAY(1000000) OF VARCHAR2(4000)として定義されます。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、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

構文

SDO_CSW_PROCESS.InsertPluginMap(

     rtnsUrl IN VARCHAR2,

    rtName IN VARCHAR2,

    pluginPackageName IN VARCHAR2);

説明

レコード・タイプのGML形式以外の空間コンテンツの処理と抽出を行うプラグインを登録します。

パラメータ

rtnsUrl

レコード・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

rtName

レコード・タイプの名前を指定します。

pluginPackageName

プラグインのPL/SQLパッケージ・オブジェクトの名前を指定します。

使用上の注意

プラグインには、extractSDOファンクションのユーザー定義の実装が含まれている必要があります。プラグインは、レコードがGML形式ではない場合に必要となります。extractSDOファンクションの作成方法と使用方法の詳細は、16.2.2項を参照してください。

プラグイン・パッケージ(pluginPackageNameパラメータ)に対するEXECUTEアクセス権限を、ユーザーMDSYSおよびCSW管理ユーザーに付与する必要があります。

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、プラグインを登録します。

BEGIN
  SDO_CSW_PROCESS.insertPluginMap('http://www.opengis.net/cat/csw',
    'Record', 'csw_admin_usr.csw_RT_1_package');
END;
/

SDO_CSW_PROCESS.InsertRecordViewMap

構文

SDO_CSW_PROCESS.InsertRecordViewMap(

     recordTypeNs IN VARCHAR2,

     viewSrcName IN VARCHAR2,

    targetTypeName IN VARCHAR2,

    mapInfo IN XMLTYPE,

    mapType IN VARCHAR2);

説明

レコード・ビューの変換に関連する情報を挿入します。

パラメータ

recordTypeNs

レコード・タイプの名前空間のURLを指定します。

viewSrcName

ソース・レコード・タイプの名前(BriefRecordDCMIRecordRecordSummaryRecordなど)を指定します。

targetTypeName

ターゲット・レコード・タイプの名前(BriefRecordDCMIRecordRecordSummaryRecordなど)を指定します。

mapInfo

マッピングのXSLT定義を指定します。(BriefRecordタイプからRecordタイプへの変換については、この項の最後にある例のコメントを参照してください。)

mapType

マップ・タイプ(brief、summaryなど)を指定します。

使用上の注意

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、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

構文

SDO_CSW_PROCESS.InsertRtDataUpdated(

     ns IN VARCHAR2,

     name IN VARCHAR2,

     updatedRowList IN ROWPOINTERLIST,

     updateTs IN TIMESTAMP);

説明

データベースでレコード・タイプのデータが更新されたことを示す通知を挿入します。

パラメータ

ns

レコード・タイプの名前空間を指定します。

name

レコード・タイプの名前を指定します。

updatedRowList

更新された行の行IDのリストを指定します。

updateTS

データが更新された日時を示すタイムスタンプ値を指定します。

使用上の注意

このプロシージャは、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; 
/

SDO_CSW_PROCESS.InsertRtMDUpdated

構文

SDO_CSW_PROCESS.InsertRtMDUpdated(

     ns IN VARCHAR2,

     name IN VARCHAR2,

     updateTs IN TIMESTAMP);

説明

データベースでレコード・タイプのメタデータが更新されたことを示す通知を挿入します。

パラメータ

ns

レコード・タイプの名前空間を指定します。

name

レコード・タイプの名前を指定します。

updateTS

メタデータが更新された日時を指定します。

使用上の注意

このプロシージャは、WFSのキャッシュ・メタデータを同期させるために使用します。

Catalog Services for the Webのサポートについては、第16章を参照してください。

次の例では、データベースでRecordレコード・タイプのメタデータが更新されたことを示す通知を挿入します。

BEGIN
  SDO_CSW_PROCESS.insertRtMDUpdated('http://www.opengis.net/cat/csw', 
    'Record', sysdate);
END;