38 SDO_WFS_PROCESSパッケージ(WFSの処理)

MDSYS.SDO_WFS_PROCESSパッケージには、Web Feature Servicesのサポートに関連する各種処理操作を行うサブプログラムが含まれています。

この章で説明するサブプログラムを使用する場合は、Web Feature Serviceの概念および使用方法を理解しておく必要があります(「Web Feature Service (WFS)のサポート」を参照)。

この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。

38.1 SDO_WFS_PROCESS.DropFeatureType

構文

SDO_WFS_PROCESS.DropFeatureType(
     ftnsUrl IN VARCHAR2, 
     ftName  IN VARCHAR2);

説明

指定したフィーチャ・タイプを削除します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上のノート

複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャをコールする必要があります。

名前空間内のすべてのフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypesプロシージャを使用できます。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、指定した名前空間にあるCOLAというフィーチャ・タイプを削除します。

BEGIN
    SDO_WFS_PROCESS.dropFeatureType('http://www.example.com/myns','COLA');
END;
/

38.2 SDO_WFS_PROCESS.DropFeatureTypes

構文

SDO_WFS_PROCESS.DropFeatureTypes(
     ftnsUrl  IN VARCHAR2);

説明

指定した名前空間内のすべてのフィーチャ・タイプを削除します。

パラメータ

ftnsUrl

名前空間のURL(Uniform Resource Locator)を指定します。

使用上のノート

名前空間内の単一のフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、指定した名前空間内のすべてのフィーチャ・タイプを削除します。

BEGIN
    SDO_WFS_PROCESS.dropFeatureTypes('http://www.example.com/myns');
END;
/

38.3 SDO_WFS_PROCESS.GenCollectionProcs

構文

SDO_WFS_PROCESS.GenCollectionProcs();

説明

コレクションベースの列(たとえば、VARRAYまたはネストされた表)を含むリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。

パラメータ

なし。

使用上のノート

フィーチャ表にコレクションベースの列(たとえば、VARRAYまたはネストされた表)で定義されたフィーチャが含まれている場合は、このプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、コレクションベースの列を持つリレーショナル・フィーチャ・タイプのヘルパー・プロシージャを生成します。

BEGIN
  SDO_WFS_PROCESS.GenCollectionProcs;
END;
/

38.4 SDO_WFS_PROCESS.GetFeatureTypeId

構文

SDO_WFS_PROCESS.GetFeatureTypeId(
     ftnsUrl IN VARCHAR2, 
     ftName  IN VARCHAR2) RETURN NUMBER;

説明

指定したフィーチャ・タイプのフィーチャ・タイプIDを取得します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上のノート

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、COLAというフィーチャ・タイプのフィーチャ・タイプIDを取得します。

DECLARE
  ftid number; 
BEGIN 
  ftId := SDO_WFS_PROCESS.GetFeatureTypeId('http://www.example.com/myns','COLA');
END;
/

38.5 SDO_WFS_PROCESS.GrantFeatureTypeToUser

構文

SDO_WFS_PROCESS.GrantFeatureTypeToUser(
     ftnsUrl  IN VARCHAR2, 
     ftName   IN VARCHAR2, 
     userName IN VARCHAR2);

説明

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

userName

データベース・ユーザーの名前。

使用上のノート

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeFeatureTypeFromUserプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、COLAというフィーチャ・タイプへのアクセス権限をユーザーSMITHに付与します。

BEGIN
  SDO_WFS_PROCESS.GrantFeatureTypeToUser('http://www.example.com/myns','COLA',
    'SMITH');
END;
/

38.6 SDO_WFS_PROCESS.GrantMDAccessToUser

構文

SDO_WFS_PROCESS.GrantMDAccessToUser(
     userName  IN VARCHAR2);

説明

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与します。

パラメータ

userName

データベース・ユーザーの名前。

使用上のノート

このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消すには、SDO_WFS_PROCESS.RevokeMDAccessFromUserプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USERというデータベース・ユーザーに付与します。

BEGIN
  SDO_WFS_PROCESS.GrantMDAccessToUser('WFS_REL_USER'); 
END;
/

38.7 SDO_WFS_PROCESS.InsertCapabilitiesInfo

構文

SDO_WFS_PROCESS.InsertCapabilitiesInfo(
     capabilitiesInfo IN XMLTYPE);

説明

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

パラメータ

capabilitiesInfo

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

使用上のノート

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

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

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

BEGIN
  SDO_WFS_PROCESS.insertCapabilitiesInfo(
    xmltype(bfilename('WFSUSERDIR', 'capabilitiesTemplate.xml'),
       nls_charset_id('AL32UTF8')));
END
/

38.8 SDO_WFS_PROCESS.InsertFtDataUpdated

構文

SDO_WFS_PROCESS.InsertFtDataUpdated(
     ns             IN VARCHAR2, 
     name           IN VARCHAR2, 
     updatedRowList IN ROWPOINTERLIST, 
     updateTs       IN TIMESTAMP);

説明

データベースで1つ以上のフィーチャ・インスタンスのデータが更新されたことを示す通知を挿入します。

パラメータ

ns

フィーチャ・タイプの名前空間を指定します。

name

フィーチャ・タイプの名前を指定します。

updatedRowList

更新されたフィーチャ・インスタンスのROWIDを指定します。

updateTS

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

使用上のノート

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

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、COLA_MARKETS_CS表内の特定のROWIDと関連付けられたフィーチャ・インスタンスのデータがデータベースで更新されたことを示す通知を挿入します。

. . .
begin
updatedRowIdList:= . . . -- list of rowIds of the
--          WFS_REL_USER.COLA_MARKETS_CS table
--          that have been updated.
. . .
SDO_WFS_PROCESS.InsertFtDataUpdated(
    'http://www.example.com/myns','COLA', updatedRowIdList, sysdate);
. . .
end; 
/

38.9 SDO_WFS_PROCESS.InsertFtMDUpdated

構文

SDO_WFS_PROCESS.InsertFtMDUpdated(
     ns       IN VARCHAR2, 
     name     IN VARCHAR2, 
     updateTs IN TIMESTAMP);

説明

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

パラメータ

ns

フィーチャ・タイプの名前空間を指定します。

name

フィーチャ・タイプの名前を指定します。

updateTS

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

使用上のノート

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

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、データベースでCOLAフィーチャ・タイプのメタデータが更新されたことを示す通知を挿入します。

begin
SDO_WFS_PROCESS.InsertFtMDUpdated(
    'http://www.example.com/myns','COLA', sysdate);
end;
/

38.10 SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo

構文

SDO_WFS_PROCESS.PopulateFeatureTypeXMLInfo(
     xmlColTypeXsd IN XMLTYPE, 
     fTypeId       IN NUMBER, 
     columnName    IN VARCHAR2, 
     objPathInfo   IN MDSYS.STRINGLIST);

説明

XMLType列を持つリレーショナル・フィーチャ・タイプのメタデータを移入します。

パラメータ

xmlColTypeXsd

XMLType列を持つリレーショナル・フィーチャ・タイプのスキーマ定義を指定します。

fTypeId

XMLType列を持つリレーショナル・フィーチャ・タイプのIDを指定します。

columnName

フィーチャ表内のXMLType列の名前を指定します。

objPathInfo

パス情報を指定します。MDSYS.STRINGLIST型は、VARRAY(1000000) OF VARCHAR2(4000)として定義されます。

使用上のノート

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、ROADS.xsd内のXMLスキーマ定義で示され、DATACOLという名前のXMLType列に格納されているリレーショナル・フィーチャ・タイプのメタデータを移入します。

BEGIN
  SDO_WFS_PROCESS.populateFeatureTypeXMLInfo(
    xmltype(bfilename('WFSUSERDIR', 'ROADS.xsd'), nls_charset_id('AL32UTF8')),
    1,
    'DATACOL',
    mdsys.StringList('METADATA'));
END;
/

38.11 SDO_WFS_PROCESS.PublishFeatureType

構文

SDO_WFS_PROCESS.PublishFeatureType(
     dataSrc           IN VARCHAR2, 
     ftNsUrl           IN VARCHAR2, 
     ftName            IN VARCHAR2, 
     ftNsAlias         IN VARCHAR2, 
     featureDesc       IN XMLTYPE, 
     schemaLocation    IN VARCHAR2, 
     pkeyCol           IN VARCHAR2, 
     columnInfo        IN MDSYS.STRINGLIST, 
     pSpatialCol       IN VARCHAR2, 
     featureMemberNs   IN VARCHAR2, 
     featureMemberName IN VARCHAR2, 
     srsNs             IN VARCHAR2, 
     srsNsAlias        IN VARCHAR2, 
     mandatoryColumnInfo IN MDSYS.STRINGLIST);

または

SDO_WFS_PROCESS.PublishFeatureType(
     dataSrc             IN VARCHAR2, 
     ftNsUrl             IN VARCHAR2, 
     ftName              IN VARCHAR2, 
     ftNsAlias           IN VARCHAR2, 
     featureDesc         IN XMLTYPE, 
     schemaLocation      IN VARCHAR2, 
     pkeyCol             IN VARCHAR2, 
     columnInfo          IN MDSYS.STRINGLIST, 
     pSpatialCol         IN VARCHAR2, 
     featureMemberNs     IN VARCHAR2, 
     featureMemberName   IN VARCHAR2, 
     srsNs               IN VARCHAR2, 
     srsNsAlias          IN VARCHAR2, 
     viewTableName       IN VARCHAR2, 
     viewTablepkeyCol    IN VARCHAR2, 
     mandatoryColumnInfo IN MDSYS.STRINGLIST);

または

SDO_WFS_PROCESS.PublishFeatureType(
     dataSrc               IN VARCHAR2, 
     ftNsUrl               IN VARCHAR2, 
     ftName                IN VARCHAR2, 
     ftNsAlias             IN VARCHAR2, 
     featureDesc           IN XMLTYPE, 
     schemaLocation        IN VARCHAR2, 
     pkeyCol               IN VARCHAR2, 
     columnInfo            IN MDSYS.STRINGLIST, 
     pSpatialCol           IN VARCHAR2, 
     featureMemberNs       IN VARCHAR2, 
     featureMemberName     IN VARCHAR2, 
     srsNs                 IN VARCHAR2, 
     srsNsAlias            IN VARCHAR2, 
     featureCollectionNs   IN VARCHAR2, 
     featureCollectionName IN VARCHAR2, 
     isGML3                IN VARCHAR2, 
     formattedKeyCols      IN MDSYS.STRINGLIST, 
     viewTableName         IN VARCHAR2, 
     viewTablepkeyCol      IN VARCHAR2, 
     viewTableFmtKeyCols   IN VARCHAR2, 
     mandatoryColumnInfo   IN MDSYS.STRINGLIST);

説明

フィーチャ・タイプをパブリッシュします(フィーチャ・タイプに関連するメタデータを登録します)。

パラメータ

dataSrc

空間フィーチャを含むフィーチャ表またはビューの名前を指定します。schema-name.table-nameまたはschema-name.view-nameの書式で指定する必要があります。つまり、表の所有者であるデータベース・ユーザーの名前が含まれている必要があります。

ftNsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

ftNsAlias

フィーチャ・タイプの名前空間の別名を指定します。

featureDesc

機能のドキュメントにXMLTYPE型のドキュメントとしてレポートされるフィーチャ・タイプの説明を指定します。

schemaLocation

フィーチャ・タイプXSD内のxsi:schemaLocation属性の移入に使用する文字列を指定します。このパラメータがNULLの場合、文字列が自動生成されます。

pkeyCol

dataSrcで識別されるフィーチャ表またはビューの主キー列を指定します。フィーチャ・タイプ表またはビューの主キーが複数列の場合は、主キーに含まれる各列をセミコロンで区切ります。たとえば: 'COL1;COL2'

columnInfo

dataSrcで識別されるフィーチャ表内の各空間列(SDO_GEOMETRY型)に関連付けられたタイプの文字列を、MDSYS.STRINGLIST型のオブジェクトで指定します(たとえば、WFS 1.1.nの場合、MDSYS.STRINGLIST('PolygonPropertyType', 'PointPropertyType')など)。

columnInfoパラメータで指定される空間列については、「使用上のノート」を参照してください。

pSpatialCol

フィーチャ表内のSDO_GEOMETRY型の空間列を指定します。

featureMemberNs

フィーチャ・コレクション内のフィーチャ・インスタンスが含まれるフィーチャ・メンバー要素の名前空間を指定します。このパラメータがNULLである場合、デフォルトはhttp://www.opengis.net/gmlです。

featureMemberName

フィーチャ・コレクション内のフィーチャ・インスタンスが含まれるフィーチャ・メンバー要素の名前を指定します。このパラメータがNULLの場合、デフォルトはfeatureMemberです。

srsNs

フィーチャ・タイプの空間データと関連付けられた空間参照システム(座標系)のユーザー定義の名前空間を指定します。この名前空間は(指定されている場合)、GetFeatureリクエストに対する回答として生成されるFeatureCollectionの<boundedBy>要素内のsrsName属性を生成するときにも使用されます。

srsNsAlias

フィーチャ・タイプの空間データと関連付けられた空間参照システム(座標系)の名前空間の名前空間別名を指定します。

featureCollectionNs

このフィーチャ・タイプのインスタンスが出現する可能性のあるWFSフィーチャ・コレクションの名前空間を指定します。

featureCollectionName

このフィーチャ・タイプのインスタンスが出現する可能性のあるWFSフィーチャ・コレクションの名前を指定します。

isGML3

文字列値を指定します。Yは、このフィーチャ・タイプのインスタンスに含まれるジオメトリがGML3.1.1に準拠していることを表します。Nは、このフィーチャ・タイプのインスタンスに含まれるジオメトリがGML 2.1.2に準拠していることを表します。

formattedKeyCols

主キー列(複数列の主キーの場合は複数列)の内容を文字列書式で表現したものを指定します。たとえば、ROAD_IDがNUMBER型の主キー列である場合は、MDSYS.STRINGLIST('to_char(ROAD_ID)')と指定します。MDSYS.STRINGLIST型のコンストラクタ内で複数の文字列を指定する場合は、各文字列をカンマで区切ります。書式化された文字列の主キー列のリストは、pkeyColパラメータに主キー列が指定された同じ順番で指定する必要があります。

viewTableName

フィーチャ・タイプが、基になる単一の表に基づいてビューに定義される場合は、基になる表の名前を指定します。パブリッシュされるフィーチャ・タイプは、dataSrcパラメータ(user-name.view-name)で指定したビューに基づきます。フィーチャ・タイプが表(または複数表ビュー)に基づいている場合は、viewTableNameパラメータには値を入力しないでください。

viewTablepkeyCol

フィーチャ・タイプが、基になる単一の表に基づいてビューに定義される場合は、viewTableNameパラメータで指定した表の主キー列を指定します。

viewTableFmtKeyCols

フィーチャ・タイプが単一の表に定義されたビューに基づき、そのビューに1つ以上の書式化された主キー列がある場合は、このパラメータには基になる表に含まれる主キー列を書式化された文字列で表現したものを指定します。各列は、ビューに含まれる書式化された文字列の主キー列(formattedkeyColsパラメータで指定)に対応します。たとえば、ROAD_IDがNUMBER型の主キー列である場合は、MDSYS.STRINGLIST('to_char(ROAD_ID)')と指定します。MDSYS.STRINGLIST型のコンストラクタ内で複数の文字列を指定する場合は、各文字列をカンマで区切ります。

フィーチャ・タイプが単一表ビューに基づいていない場合、または単一表ビューに基づいているがフィーチャ・タイプに書式化済の主キー列がない場合は、このパラメータをNULLにする必要があります。

mandatoryColumnInfo

リクエストした列に関係なく、GetFeatureリクエストで戻される必要のある列のリストを指定します。(リクエストした列は必ず戻されます。)このパラメータを省略した場合は、すべての列が必須になります(すべての列が戻されます)。ただし、このパラメータにNULLを指定した場合、必須の列はありません(リクエストした列のみ戻されます)。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('COL1', 'COL2', 'COL5')のように指定します。

使用上のノート

columnInfoパラメータでは、フィーチャ・タイプのインスタンス表内のSDO_GEOMETRY型の各列に、columnInfoパラメータで指定された正しい関連する文字列値(文字列値の順序は表の定義内の空間列の順序と同じ)が含まれている必要があります。

WFS 1.0.nの場合、たとえば、フィーチャ・タイプのインスタンス表内にあるSHAPEという名前の1つのSDO_GEOMETRY列にポリゴン・ジオメトリが含まれている場合、columnInfo値はSHAPE_GEOMETRYTYPE>PolygonMemberTypeとなる必要があります。表38-1に、WFSバージョン1.0.nでのジオメトリ・タイプとこれらのタイプに関連付けられた必須のcolumnInfoパラメータ値を示します。(<column-name>を列の名前に置換します。)

表38-1 ジオメトリ・タイプとcolumnInfoパラメータ値(WFS 1.0.n)

ジオメトリ・タイプ columnInfoパラメータ値

ポリゴンまたは面

<column-name>_GEOMETRYTYPE>PolygonMemberType

複数のポリゴンまたは複数面

<column-name>_GEOMETRYTYPE>MultiPolygonMemberType

<column-name>_GEOMETRYTYPE>PointMemberType

複数点

<column-name>_GEOMETRYTYPE>MultiPointMemberType

線または曲線

<column-name>_GEOMETRYTYPE>CurveMemberType

複数線または複数曲線

<column-name>_GEOMETRYTYPE>MultiCurveMemberType

ソリッド

<column-name>_GEOMETRYTYPE>SolidMemberType

マルチソリッド

<column-name>_GEOMETRYTYPE>MultiSolidMemberType

コレクション

<column-name>_GEOMETRYTYPE>GeometryMemberType

WFS 1.1.nの場合、たとえば、フィーチャ・タイプのインスタンス表内にある1つのSDO_GEOMETRY列にポリゴン・ジオメトリが含まれている場合、columnInfo値はPolygonPropertyTypeとなる必要があります。表38-2に、WFSバージョン1.1.nでのジオメトリ・タイプとこれらのタイプに関連付けられた必須のcolumnInfoパラメータ値を示します。

表38-2 ジオメトリ・タイプとcolumnInfoパラメータ値(WFS 1.1.n)

ジオメトリ・タイプ columnInfoパラメータ値

ポリゴンまたは面

PolygonPropertyType

複数のポリゴンまたは複数面

MultiPolygonPropertyType

PointPropertyType

複数点

MultiPointPropertyType

線または曲線

CurvePropertyType

複数線または複数曲線

MultiCurvePropertyType

ソリッド

SolidPropertyType

マルチソリッド

MultiSolidPropertyType

コレクション

GeometryPropertyType

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、COLAという名前のフィーチャ・タイプのメタデータを、SHAPEという列に格納されているポリゴン・ジオメトリに登録します。(WFS 1.1.nの使用を想定しています。)

DECLARE
columnInfo MDSYS.StringList := MDSYS.StringList('PolygonPropertyType');
BEGIN
SDO_WFS_PROCESS.publishFeatureType(
 'WFS_USER.COLA_MARKETS_VIEW',
 'http://www.example.com/myns',
 'COLA',
 'myns',
 xmltype(bfilename('WFSUSERDIR', 'featuredesct.xml'), nls_charset_id('AL32UTF8')),
 null, 'MKT_ID', columnInfo, 'SHAPE', null, null, null, null);
END;
/

38.12 SDO_WFS_PROCESS.Publish_FeatureTypes_In_Schema

構文

SDO_WFS_PROCESS.Publish_FeatureTypes_In_Schema(
     p_owner              IN VARCHAR2, 
     p_namespace_url      IN VARCHAR2, 
     p_namespace_alias    IN VARCHAR2, 
     p_wls_postxml_url    IN VARCHAR2, 
     p_tablename_pattern  IN VARCHAR2 DEFAULT NULL, 
     p_wfs_version        IN VARCHAR2 DEFAULT NULL, 
     p_write_xsd          IN VARCHAR2 DEFAULT NULL);

説明

スキーマ内のフィーチャ・タイプをパブリッシュします。つまり、フィーチャ・タイプに関連するメタデータを登録します(キャメル・ケースを使用)。

パラメータ

p_owner

空間フィーチャ(空間プロパティおよび非空間プロパティを持つことができる)を含む表を所有するデータベース・ユーザーの名前。

p_namespace_url

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。(SDO_WFS_PROCESS.PublishFeatureTypeプロシージャのftNsUrlパラメータに対応。)

p_namespace_alias

フィーチャ・タイプの名前空間の別名を指定します。(SDO_WFS_PROCESS.PublishFeatureTypeプロシージャのftNsAliasパラメータに対応。)

p_wls_postxml_url

WFSサーバーに対するPOST XMLリクエストを実行する形式のHTTP URL。

  • http://hostname:listening_port/SpatialWS-SpatialWS-context-root/SpatialWSXmlServlet[古い表記法]

  • http://hostname:listening_port/oraclespatial/wfs[新しい表記法]

このURLは、WFSエンジンに対するキャッシュ・リロードに使用されます。

p_tablename_pattern

新たにパブリッシュする、またはすでにパブリッシュされている場合は再パブリッシュする必要のある表を識別する表名パターン。デフォルトは"%"で、スキーマ内のすべてのフィーチャ・タイプを意味します。

p_wfs_version

POST XMLリクエストに必要なWFSバージョン。デフォルト値は1.1.0で、リリース12.2についてサポートされる最新のWFSバージョンです。

p_write_xsd

Yの場合、XSDファイルはWFSUSERDIRに書き込まれます。ファイル命名規則は、owner_tablename_columnname.xsdに一致します。

使用上のノート

このプロシージャでは、WFS管理コンソールを使用せず、対応するDescribeFeatureTypeレスポンスから導出した各フィーチャ・タイプXSDを使用してスキーマ内のすべてのフィーチャ・タイプをパブリッシュします。

WFSは複数の空間列を処理できますが、このプロシージャでは、各フィーチャ・タイプ表は1つの空間列を持つものとします。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、すべてのメタデータ・レジストリ操作を実行します。WFS 1.1.0(デフォルト)の使用を想定しています。

EXECUTE  SDO_WFS_PROCESS.publish_featureTypes_in_schema(
   p_owner=> 'WFS_REL_USER',
   p_namespace_url => 'http://cite.opengeospatial.org/gmlsf',
   p_namespace_alias=> 'sf',
   p_wls_postxml_url=> 'http://localhost:7003/oraclespatial/wfs');

次の例では、STUDENTスキーマ内のGEOD_STATES表をパブリッシュします。

EXECUTE sdo_wfs_process.publish_featureTypes_in_schema (
   'STUDENT', 
   'http://www.myserver.com/student_data', 
   'sdns', 
   'http://localhost:7001/oraclespatial/wfs', 
   p_tablename_pattern=>'GEOD_STATES');

38.13 SDO_WFS_PROCESS.RegisterMTableView

構文

SDO_WFS_PROCESS.RegisterMTableView(
     ftNsUrl              IN VARCHAR2, 
     ftName               IN VARCHAR2, 
     viewTableList        IN MDSYS.STRINGLIST, 
     viewTablePkeyColList IN MDSYS.STRINGLIST, 
     tablePkeyColList     IN MDSYS.STRINGLIST);

または

SDO_WFS_PROCESS.RegisterMTableView(
     ftNsUrl                   IN VARCHAR2, 
     ftName                    IN VARCHAR2, 
     viewTableList             IN MDSYS.STRINGLIST, 
     viewTablePkeyColList      IN MDSYS.STRINGLIST, 
     formattedViewTableColList IN MDSYS.STRINGLISTLIST, 
     tablePkeyColList          IN MDSYS.STRINGLIST);

説明

フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを有効にします。

パラメータ

ftNsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

viewTableList

ビューに含まれる表のリストを指定します。表名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('MYUSER.ROADS', 'MYUSER.ROADS_DESC')のように指定します。

viewTablePkeyColList

ビュー内の表の主キー列に対応するビュー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用してMDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')のように指定します。この例では、ROADS表およびROAD_DESC表の両方に、ROAD_IDが主キーとして含まれています。

複数列主キーの表の列に対応する列がビューに含まれる場合は、主キーに含まれる各列をセミコロンで区切ります。たとえば: 'COL1;COL2'

formattedViewTableColList

ビュー内の書式化された文字列の主キー列に対応した、書式化された文字列表の主キー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLISTLIST(MDSYS.STRINGLIST('to_char(ROAD_ID)'), MDSYS.STRINGLIST('to_char(ROAD_ID)'))のように指定します。

各表に対して書式化された文字列の主キー列のリストは、tablePkeyColListパラメータで指定した各表の主キー列と同じ順番で指定する必要があります。

tablePkeyColList

表の主キー列のリストを、viewTableListに表を指定した順序に従って指定します。各表の主キー列は、viewTablePkeyColListパラメータに指定したビューのキー列の順序で指定する必要があります。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')のように指定します。

表の主キーが複数列の場合は、主キーに含まれる各列をセミコロンで区切ります。たとえば : 'COL1;COL2'

使用上のノート

複数表ビューのコンテンツをフィーチャ・インスタンスとしてパブリッシュする必要がある場合は、SDO_WFS_PROCESS.PublishFeatureTypeプロシージャをコールした後に、このプロシージャをコールする必要があります。

フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にする場合は、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では2つのフィーチャ表を作成し、これらの表に基づいてビューを作成します。続いて、フィーチャ・タイプをパブリッシュし、ビューのコンテンツのパブリッシュを有効するために複数表ビューを登録します。

CREATE TABLE cola_markets_cs (
  mkt_id NUMBER PRIMARY KEY,
  name VARCHAR2(32),
  shape MDSYS.SDO_GEOMETRY);
 
CREATE TABLE cola_markets_cs_details (
  mkt_id NUMBER PRIMARY KEY,
  description VARCHAR2(400));
 
create view cola_markets_view as select t1.mkt_id, t1.name, t1.shape,
  t2.description from
  cola_markets_cs t1, cola_markets_cs_details t2
  where t1.mkt_id = t2.mkt_id;
 
DECLARE
cm MDSYS.StringList := MDSYS.StringList('PolygonMemberType');
BEGIN
SDO_WFS_PROCESS.publishFeatureType(
 'WFS_USER.COLA_MARKETS_VIEW',
 'http://www.example.com/myns',
 'COLA',
 'myns',
 xmltype(bfilename('WFSUSERDIR', 'featuredesct.xml'), nls_charset_id('AL32UTF8')),
 null, 'MKT_ID', cm, 'SHAPE', null, null, null, null);
END;
/
 
BEGIN
SDO_WFS_PROCESS.registerMTableView('http://www.example.com/myns',
        'COLA', mdsys.StringList('WFS_USER.COLA_MARKETS_CS',
        'WFS_USER.COLA_MARKETS_CS_DETAILS'),
        mdsys.StringList('MKT_ID', 'MKT_ID'), -- view keys per table
        mdsys.StringList('MKT_ID', 'MKT_ID'));-- corresponding table keys
END;
/

38.14 SDO_WFS_PROCESS.RevokeFeatureTypeFromUser

構文

SDO_WFS_PROCESS.RevokeFeatureTypeFromUser(
     ftnsUrl  IN VARCHAR2, 
     ftName   IN VARCHAR2, 
     userName IN VARCHAR2);

説明

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーから取り消します。

パラメータ

ftnsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

userName

データベース・ユーザーの名前。

使用上のノート

フィーチャ・タイプへのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantFeatureTypeToUserプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、COLAというフィーチャ・タイプへのアクセス権限をユーザーSMITHから取り消します。

BEGIN
  SDO_WFS_PROCESS.RevokeFeatureTypeFromUser('http://www.example.com/myns','COLA',
    'SMITH');
END;
/

38.15 SDO_WFS_PROCESS.RevokeMDAccessFromUser

構文

SDO_WFS_PROCESS.RevokeMDAccessFromUser(
     userName  IN VARCHAR2);

説明

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーから取り消します。

パラメータ

userName

データベース・ユーザーの名前。

使用上のノート

このプロシージャをコールするには、DBAロールを持つユーザーとしてデータベースに接続する必要があります。

Web Feature Serviceメタデータ表へのアクセス権限をデータベース・ユーザーに付与する場合は、SDO_WFS_PROCESS.GrantMDAccessToUserプロシージャを使用します。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、Web Feature Serviceメタデータ表へのアクセス権限をWFS_REL_USERというデータベース・ユーザーから取り消します。

BEGIN
  SDO_WFS_PROCESS.RevokeMDAccessToUser('WFS_REL_USER'); 
END;
/

38.16 SDO_WFS_PROCESS.UnRegisterMTableView

構文

SDO_WFS_PROCESS.UnRegisterMTableView(
     ftNsUrl IN VARCHAR2, 
     ftName  IN VARCHAR2);

説明

フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にします。

パラメータ

ftNsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

使用上のノート

フィーチャ・インスタンスとしての複数表ビューのコンテンツのパブリッシュを有効にするには、事前にSDO_WFS_PROCESS.RegisterMTableViewプロシージャがコールされている必要があります。

複数表ビューからのコンテンツを持つフィーチャ・タイプを削除する場合は、SDO_WFS_PROCESS.DropFeatureTypeプロシージャをコールする前に、このプロシージャをコールする必要があります。

Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。

次の例では、複数表ビューの登録を解除し、ビューのコンテンツのパブリッシュを無効にします。

DECLARE
BEGIN
  SDO_WFS_PROCESS.unRegisterMTableView('http://www.example.com/myns', 'COLA');
END;
/