190 DBMS_XDB_REPOS

DBMS_XDB_REPOSパッケージは、Oracle XMLデータベース・リポジトリで動作するインタフェースを提供します。

この章のトピックは、次のとおりです:

190.1 DBMS_XDB_REPOSの概要

DBMS_XDB_REPOSパッケージをOracle XML DBリポジトリで操作して、リソースの作成、変更および削除を行えます。これには、アクセス制御リスト(ACL)に基づくセキュリティの管理も含まれます。このインタフェースには、問合せとDMLの両方の機能が備わっています。

PL/SQLパッケージ(DBMS_XDB_REPOS DBMS_XDBZおよび DBMS_XDB_VERSION)の組合せを使用すると、ドキュメントとフォルダの作成、削除および名前変更、フォルダ階層内でのファイルまたはフォルダの移動、ファイルまたはフォルダに対するアクセス権限の設定および変更、バージョニングの開始および管理を実行できます。

190.2 DBMS_XDB_REPOSのセキュリティ・モデル

XDBによって所有されているため、DBMS_XDB_REPOSパッケージはSYSまたはXDBで作成する必要があります。EXECUTE権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。XDB構成で動作するサブプログラムは、現在のユーザーがSYSまたはXDBである場合、または現在のユーザーがXDBADMINロールまたはDBAロールを持つ場合にのみ成功します。

190.3 DBMS_XDB_REPOSの定数

DBMS_XDB_REPOSパッケージは、パラメータ値の指定に使用できるいくつかの定数を定義します。

これらの定数を、次の表に示します。

表190-1 DBMS_XDB_REPOSの定数

定数 タイプ 説明

DELETE_RESOURCE

NUMBER

1

リソースを削除します。リソースに子がある場合失敗します。

DELETE_RECURSIVE

NUMBER

2

リソースと子がある場合それを削除します。

DELETE_FORCE

NUMBER

3

含まれているオブジェクトが無効な場合でも、リソースを削除します。

DELETE_RECURSIVE_FORCE

NUMBER

4

含まれているオブジェクトが無効な場合でも、リソースと子がある場合にそれを削除します。

DELETE_RES_METADATA_CASCADE

NUMBER

1

メタデータの行を削除します。

DELETE_RES_METADATA_NOCASCADE

NUMBER

2

行を削除しません。

DEFAULT_LOCK_TIMEOUT

PLS_INTEGER

(60*60)

WebDAVロックのタイムアウト値(秒数)

LINK_TYPE_HARD

NUMBER

1

フォルダのリソースへの強いリンク

LINK_TYPE_WEAK

NUMBER

2

フォルダのリソースへの弱いリンク

LINK_TYPE_SYMBOLIC

NUMBER

3

フォルダのリソースへのシンボリック・リンク

190.4 DBMS_XDB_REPOSサブプログラムの要約

この表は、DBMS_XDB_REPOSサブプログラムを示し、簡単に説明しています。

表190-2 DBMS_XDB_REPOSパッケージのサブプログラム

サブプログラム 説明

ACLCHECKPRIVILEGESファンクション

指定のACLドキュメントで指定されている現行ユーザーに付与されたアクセス権限をチェックします。このアクセス権限は、所有者が'owner'パラメータで指定されているリソースに対するものです。

APPENDRESOURCEMETADATAプロシージャ

ユーザー定義のメタデータをXMLTYPEへのREFまたはXMLTYPEとして使用し、目的のリソースに追加します。

CHANGEOWNERプロシージャ

リソースの所有者を指定した所有者に変更します。

CHANGEPRIVILEGESファンクション

指定したACEを、指定したリソースのACLに追加します。

CHECKPRIVILEGESファンクション

指定したリソースに対して現行ユーザーに付与されているアクセス権限をチェックします。

CREATEFOLDERファンクション

階層内に新規フォルダ・リソースを作成します。

CREATEOIDPATHファンクション

オブジェクトIDに基づいたリソースの仮想パスを作成します。

CREATERESOURCEファンクション

新規リソースを作成します。

DELETERESOURCEプロシージャ

階層からリソースを削除します。

DELETERESOURCEMETADATAプロシージャ

リソースからメタデータを削除します(スキーマ・ベースまたは非スキーマ・ベースのメタデータに使用できます)。

EXISTSRESOURCEファンクション

リソースの絶対パスに基づいて、リソースが階層であるかどうかを判別します。

GETACLDOCUMENTファンクション

パス名を指定して、リソースを保護するACLドキュメントを取得します。

GETCONTENTBLOBファンクション

BLOBとして戻されたリソースの内容を取り出します。

GETCONTENTCLOBファンクション

CLOBとして戻されたリソースの内容を取り出します。

GETCONTENTVARCHAR2ファンクション

文字列として戻されたリソースの内容を取り出します。

GETCONTENTXMLREFファンクション

XMLTYPEへのREFとして戻されたリソースの内容を取り出します。

GETCONTENTXMLTYPEファンクション

XMLTYPEとして戻されたリソースの内容を取り出します。

GETLOCKTOKENプロシージャ

リソースへのパスを指定して、現行ユーザーのリソースのロック・トークンを戻します。

GETPRIVILEGESファンクション

指定したリソース上の現在のユーザーに付与された権限をすべて取得します。

GETRESOIDファンクション

リソースの絶対パスからオブジェクトIDを戻します。

GETXDB_TABLESPACEファンクション

XDB(ユーザー)の現行の表領域を戻します。

HASBLOBCONTENTファンクション

リソースにBLOBコンテンツがある場合はTRUEを戻します。

HASCHARCONTENTファンクション

リソースに文字コンテンツがある場合はTRUEを戻します。

HASXMLCONTENTファンクション

リソースにXMLコンテンツがある場合はTRUEを戻します。

HASXMLREFERENCEファンクション

リソースにXMLコンテンツへのREFがある場合は、TRUEを戻します。

ISFOLDERファンクション

リソースがフォルダまたはコンテナの場合は、TRUEを戻します。

LINKプロシージャ

既存のリソースへのリンクを作成します。

LOCKRESOURCEファンクション

リソースへのパスを指定して、リソースに対するWebDAVスタイルのロックを取得します。

PROCESSLINKSプロシージャ

指定したリソース内のドキュメント・リンクを処理します。

PURGERESOURCEMETADATAプロシージャ

リソースからすべてのユーザー・メタデータを削除します。

RENAMERESOURCEプロシージャ

XDBリソースの名前を変更します。

SETACLプロシージャ

指定したリソースにACLを設定します。

SPLITPATHプロシージャ

パスを親のパスと子のパスに分割します。

TOUCHRESOURCEプロシージャ

リソースの変更時刻を現在の時刻に変更します。

UNLOCKRESOURCEファンクション

ロック・トークンおよびリソース・パスを指定して、リソースのロックを解除します。

UPDATERESOURCEMETADATAプロシージャ

リソースのメタデータを更新します。

190.4.1 ACLCHECKPRIVILEGESファンクション

このファンクションは、リソースのOWNERによる指定したACLドキュメントによって、現在のユーザーに付与されたアクセス権限をチェックします。すべての権限が付与されている場合は、正の整数を戻します。

構文

DBMS_XDB_REPOS.ACLCHECKPRIVILEGES(
   acl_path  IN  VARCHAR2,
   owner     IN  VARCHAR2,
   privs     IN  xmltype)
 RETURN PLS_INTEGER;

パラメータ

表190-3 ACLCHECKPRIVILEGESファンクションのパラメータ

パラメータ 説明

acl_path

ACLドキュメントの階層内の絶対パス。

owner

リソースの所有者名。疑似ユーザー「DAV:owner」は、ACL権限の解決時にこのユーザーに置き換えられます。

privs

privilege要素のXMLTypeインスタンスで、要求された一連のアクセス権限を指定します。CHECKPRIVILEGESファンクションを参照してください。

190.4.2 APPENDRESOURCEMETADATAプロシージャ

このプロシージャは、ユーザー定義のメタデータをXMLTYPEへのREFまたはXMLTYPEとして使用し、目的のリソースに追加します。

構文

DBMS_XDB_REPOS.APPENDRESOURCEMETADATA (
 abspath   IN  VARCHAR2, 
 metadata  IN  XMLTYPE);

DBMS_XDB_REPOS.APPENDRESOURCEMETADATA (
 abspath   IN  VARCHAR2, 
 metadata  IN  REF SYS.XMLTYPE);

パラメータ

表190-4 APPENDRESOURCEMETADATAプロシージャ

パラメータ 説明

abspath

リソースの絶対パス。

metadata

メタデータには、スキーマ・ベースまたは非スキーマ・ベースのメタデータを使用できます。スキーマ・ベースのメタデータは、独自の表に格納されます。

使用上のノート

  • REFが渡された場合、プロシージャは、REFをリソースに、メタデータは別の表に格納します。この場合は、メタデータ表のRESID列に移入する必要があります。渡されるREFは一意である必要があることに注意してください。つまり、リソース・メタデータに同じ値を持つREFが存在していると、プロパティの一意性に違反するため、同じにしないでください。ユーザが、すでに存在するREFを追加しようとすると、エラーが発生します。

  • XMLTYPEが渡された場合、データを解析してスキーマ・ベースかどうかを判断し、その結果に応じてデータを格納します。

190.4.3 CHANGEOWNERプロシージャ

このプロシージャは、リソースの所有者を指定した所有者に変更します。

構文

DBMS_XDB_REPOS.CHANGEOWNER(
     abspath    IN   VARCHAR2,
     owner      IN   VARCHAR2,
     recurse    IN   BOOLEAN := FALSE);

パラメータ

表190-5 CHANGEOWNERプロシージャのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

owner

リソースの新しい所有者。

recurse

TRUEの場合は、フォルダ・ツリー内のすべてのリソースの所有者を再帰的に変更します。

190.4.4 CHANGEPRIVILEGESファンクション

このファンクションは、指定したACEを指定したリソースのACLに追加します。

構文

DBMS_XDB_REPOS.CHANGEPRIVILEGES(
   res_path   IN    VARCHAR2,
   ace        IN    xmltype)
 RETURN PLS_INTEGER;

パラメータ

表190-6 CHANGEPRIVILEGESファンクションのパラメータ

パラメータ 説明

res_path

権限を変更する必要があるリソースのパス名。

ace

<ace>要素のXMLTypeインスタンス。この要素は、<principal><grant>操作および権限リストを指定します。

戻り値

ACLが正常に変更された場合は、正の整数。

使用上のノート

同じprincipalおよび同じ操作(grant/deny)を持つACEがACLに存在しない場合、新規のACEがACLの最後に追加されます。

190.4.5 CHECKPRIVILEGESファンクション

このファンクションは、指定したリソースに対して現行ユーザーに付与されているアクセス権限をチェックします。

構文

DBMS_XDB_REPOS.CHECKPRIVILEGES(
   res_path   IN  VARCHAR2,
   privs      IN  xmltype)
 RETURN PLS_INTEGER;

パラメータ

表190-7 CHECKPRIVILEGESファンクションのパラメータ

パラメータ 説明

res_path

リソースの階層内の絶対パス。

privs

privilege要素のXMLTypeインスタンスで、要求された一連のアクセス権限を指定します

戻り値

要求された権限がすべて付与されている場合は、正の整数。

190.4.6 CREATEFOLDERファンクション

このファンクションは階層内に新規フォルダ・リソースを作成します。

構文

DBMS_XDB_REPOS.CREATEFOLDER(
   path   IN  VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-8 CREATEFOLDERファンクションのパラメータ

パラメータ 説明

path

新規フォルダのパス名。

戻り値

操作が成功した場合はTRUE。そうでない場合はFALSE

使用上のノート

指定したパス名の親フォルダは、階層内にすでに存在している必要があります。たとえば、pathパラメータに'/folder1/folder2'を指定する場合は、'/folder1'がすでに存在している必要があります。

190.4.7 CREATEOIDPATHファンクション

このファンクションは、オブジェクトIDに基づいたリソースの仮想パスを作成します。

構文

DBMS_XDB_REPOS.CREATEOIDPATH(
   oid    IN   RAW)
 RETURN VARCHAR2;

パラメータ

表190-9 CREATEOIDPATHファンクションのパラメータ

パラメータ 説明

oid

リソースのオブジェクトID。

190.4.8 CREATERESOURCEファンクション

このファンクションは新しいリソースを作成します。オーバーロード・オプションの記述は各バージョンの構文の前に配置します。

構文

指定した文字列を内容として使用し、新規リソースを作成します。

DBMS_XDB_REPOS.CREATERESOURCE( 
     abspath        IN  VARCHAR2,
     data           IN  VARCHAR2)
 RETURN BOOLEAN;

指定したXMLTypeデータを内容として使用し、新規リソースを作成します。

DBMS_XDB_REPOS.CREATERESOURCE(
     abspath        IN  VARCHAR2,
     data           IN  SYS.XMLTYPE)
 RETURN BOOLEAN;

既存のXMLType行にREFを指定し、その行を指す内容を持つリソースを作成します。この行は、別のリソース内に事前に存在させることはできません。

DBMS_XDB_REPOS.CREATERESOURCE(
     abspath        IN  VARCHAR2,
     datarow        IN  REF SYS.XMLTYPE)
 RETURN BOOLEAN;

内容として指定したBLOBを使用して、リソースを作成し、ソースBLOBの文字セットを指定します。

DBMS_XDB_REPOS.CREATERESOURCE(
     abspath        IN  VARCHAR2,
     data           IN  BLOB,
     csid           IN  NUMBER :=0)
 RETURN BOOLEAN; 

内容として指定したBFILEを使用して、リソースを作成し、ソースBFILEの文字セットを指定します。

DBMS_XDB_REPOS.CREATERESOURCE ( 
     abspath        IN  VARCHAR2,
     data           IN  BFILE,
     csid           IN  NUMBER :=0)
 RETURN BOOLEAN;

指定したCLOBを内容として使用し、リソースを作成します。

DBMS_XDB_REPOS.CREATERESOURCE (
     abspath        IN  VARCHAR2,
     data           IN  CLOB)
 RETURN BOOLEAN; 

文字列を指定すると、その文字列を内容として持つ新規リソースを階層に挿入します。

DBMS_XDB_REPOS.CREATERESOURCE (
   abspath        IN  VARCHAR2, 
   data           IN  VARCHAR2,
   schemaurl      IN  VARCHAR2 := NULL,
   elem           IN  VARCHAR2 := NULL)
 RETURN BOOLEAN; 

XMLTYPEおよびスキーマURLを指定すると、XMLTYPEを内容として持つ新規リソースを階層に挿入します。

DBMS_XDB_REPOS.CREATERESOURCE (
   abspath        IN  VARCHAR2, 
   data           IN  SYS.XMLTYPE,
   schemaurl      IN  VARCHAR2 := NULL,
   elem           IN  VARCHAR2 := NULL)
 RETURN BOOLEAN;

パラメータ

表190-10 CREATERESOURCEファンクションのパラメータ

パラメータ 説明

abspath

作成するリソースの絶対パス。パス名の親フォルダは、階層内にすでに存在している必要があります。たとえば、/foo/bar.txtと指定する場合は、フォルダ/fooがすでに存在している必要があります。

data

新規リソースの内容が含まれている文字列バッファ。データは解析され、スキーマに基づいたXML文書が含まれているかどうかがチェックされ、含まれている場合、内容はスキーマのデフォルト表にスキーマに基づいたものとして格納されます。含まれていない場合は、バイナリ・データとして保存されます。

datarow

内容として使用するXMLType行へのREF

csid

ドキュメントの文字セットID。有効なOracle IDである必要があり、無効な場合、エラーが戻されます。

CSIDを指定しない場合またはCSIDに0(ゼロ)を指定した場合、ドキュメントの文字セットIDは次のように判断されます。

  • abspath拡張子から、リソースのMIMEタイプを判断します。

  • MIMEタイプが*/xmlの場合、エンコードはhttp://www.w3.org/TR/2000/REC-xml-20001006のW3C XML 1.0 ReferenceのAppendix Fに基づいて検出されます。

  • それ以外の場合、デフォルトでデータベースの文字セットに設定されます。

schemaurl

XMLデータの場合、データが準拠するスキーマURL(デフォルトはNULL)。

elem

要素名(デフォルトはNULL)。

戻り値

操作が成功した場合はTRUE。そうでない場合はFALSE

190.4.9 DELETERESOURCEプロシージャ

このプロシージャは、階層からリソースを削除します。

構文

DBMS_XDB_REPOS.DELETERESOURCE(
   path          IN      VARCHAR2,
   delete_option IN      PLS_INTEGER);

パラメータ

表190-11 DELETERESOURCEプロシージャのパラメータ

パラメータ 説明

path

削除するリソースのパス名。

delete_option

リソースの削除方法を制御する次のオプションです。

  • DELETE_RESOURCE

  • DELETE_RECURSIVE

  • DELETE_FORCE

  • DELETE_RECURSIVE_FORCE

190.4.10 DELETERESOURCEMETADATAプロシージャ

このプロシージャは、絶対パスでリソースを使用し、REFで識別されるスキーマ・ベースのメタデータ、またはネームスペースと名前の組合せで識別されるメタデータ(スキーマ・ベースまたは非スキーマ・ベースのメタデータ)を削除します。また、メタデータの削除方法を指定する追加のパラメータ(オプション)も使用できます。このパラメータは、削除する必要のあるスキーマ・ベースのリソース・メタデータにのみ関連しています。非スキーマ・ベースのメタデータの場合、このパラメータは無視されます。

構文

次の構文は、スキーマ・ベースのメタデータにのみ使用できます。

DBMS_XDB_REPOS.DELETERESOURCEMETADATA (
   abspath        IN  VARCHAR2, 
   metadata       IN  REF SYS.XMLTYPE,
   delete_option  IN  pls_integer := DBMS_XDB_REPOS.DELETE_RESOURCE_METADATA_CASCADE);
 

次の構文は、スキーマ・ベースまたは非スキーマ・ベースのメタデータに使用できます。

DBMS_XDB_REPOS.DELETERESOURCEMETADATA (
   abspath        IN VARCHAR2,
   metadatans     IN VARCHAR2,
   metadataname   IN VARCHAR2,
   delete_option  IN pls_integer := DBMS_XDB_REPOS.DELETE_RESOURCE_METADATA_CASCADE);

パラメータ

表190-12 DELETERESOURCEMETADATAプロシージャのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

metadata

削除する(スキーマ・ベースの)メタデータの一部へのREF

mettadatans

削除するメタデータの断片のネームスペース。

mettadataname

削除するメタデータの断片のローカル名。

delete_option

スキーマ・ベースのメタデータにのみ適用できます。このパラメータは次のいずれかになります。

  • DELETE_RES_METADATA_CASCADE: メタデータ表内の対応する行を削除します。

  • DELETE_RES_METADATA_NOCASCADE: メタデータ表内の行を削除しません。

190.4.11 EXISTSRESOURCEファンクション

このファンクションは、リソースが階層内にあるかどうかを示します。絶対パスを表す文字列によってリソースを照合します。

構文

DBMS_XDB_REPOS.EXISTSRESOURCE(
   abspath    IN    VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-13 EXISTSRESOURCEファンクションのパラメータ

パラメータ 説明

abspath

ACLドキュメントが必要なリソースのパス名。

戻り値

リソースが見つかった場合はTRUE

190.4.12 GETACLDOCUMENTファンクション

このファンクションは、パス名を指定して、リソースを保護するACLドキュメントを取得します。

構文

DBMS_XDB_REPOS.GETACLDOCUMENT(
   abspath  IN  VARCHAR2)
  RETURN sys.xmltype;

パラメータ

表190-14 GETACLDOCUMENTファンクションのパラメータ

パラメータ 説明

abspath

ACLドキュメントが必要なリソースのパス名。

戻り値

ACLドキュメントのXMLType

190.4.13 GETCONTENTBLOBファンクション

このファンクションは、BLOBとして戻されたリソースの内容を取り出します。

構文

DBMS_XDB_REPOS.GETCONTENTBLOB(
     abspath    IN     VARCHAR2, 
     csid       OUT    PLS_INTEGER,
     locksrc    IN     BOOLEAN := FALSE) 
  RETURN BLOB;

パラメータ

表190-15 GETCONTENTBLOBファンクションのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

csid

TRUEの場合、ソースLOBをロックして戻します。FALSEの場合、一時LOBコピーを戻します。

locksrc

BLOBとしてのリソースの内容。

戻り値

BLOBとしてのリソースの内容。

190.4.14 GETCONTENTCLOBファンクション

このファンクションは、CLOBとして戻されたリソースの内容を取得します。

構文

DBMS_XDB_REPOS.GETCONTENTCLOB(
     abspath    IN     VARCHAR2,
  RETURN CLOB;

パラメータ

表190-16 GETCONTENTCLOBファンクションのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

戻り値

CLOBとしてのリソースの内容。

190.4.15 GETCONTENTVARCHAR2ファンクション

このファンクションは、文字列として戻されたリソースの内容を取得します。

構文

DBMS_XDB_REPOS.GETCONTENTVARCHAR2(
     abspath    IN     VARCHAR2,
  RETURN BLOB;

パラメータ

表190-17 GETCONTENTVARCHAR2ファンクションのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

戻り値

文字列としてのリソースの内容。

190.4.16 GETCONTENTXMLREFファンクション

このファンクションは、XMLTYPEへのREFとして戻されたリソースの内容を取り出します。

構文

DBMS_XDB_REPOS.GETCONTENTXMLREF(
     abspath    IN     VARCHAR2,
  RETURN SYS.XMLTYPE;

パラメータ

表190-18 GETCONTENTXMLREFファンクションのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

戻り値

XMLTYPEへのREFとしてのリソースの内容。

190.4.17 GETCONTENTXMLTYPEファンクション

このファンクションは、XMLTYPEとして戻されたリソースの内容を取り出します。

構文

DBMS_XDB_REPOS.GETCONTENTXMLTYPE(
     abspath    IN     VARCHAR2,
  RETURN SYS.XMLTYPE;

パラメータ

表190-19 GETCONTENTXMLTYPEファンクションのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

戻り値

XMLTYPEとしてのリソースの内容。

190.4.18 GETLOCKTOKENプロシージャ

リソースへのパスを指定して、現行ユーザーのリソースのロック・トークンを戻します。

構文

DBMS_XDB_REPOS.GETLOCKTOKEN(
   path         IN      VARCHAR2,
   locktoken    OUT     VARCHAR2);

パラメータ

表190-20 GETLOCKTOKENプロシージャのパラメータ

パラメータ 説明

path

リソースへのパス名。

locktoken

ログインしたユーザーのリソースに対するロック・トークン。

使用上のノート

ユーザーには、リソースに対するREADPROPERTIES権限が必要です。

190.4.19 GETPRIVILEGESファンクション

このファンクションは、指定したリソースに対して現行ユーザーに付与されている権限をすべて取得します。

構文

DBMS_XDB_REPOS.GETPRIVILEGES(
   res_path    IN     VARCHAR2)
 RETURN sys.xmltype;

パラメータ

表190-21 GETPRIVILEGESファンクションのパラメータ

パラメータ 説明

res_path

リソースの階層内の絶対パス。

戻り値

<privilege>要素のXMLTypeインスタンス。これには、このリソースに対して現行のユーザーに付与されたすべてのリーフ権限のリストが含まれています。

190.4.20 GETRESOIDファンクション

GETRESOIDファンクションは、リソースの絶対パスからオブジェクトIDを戻します。

構文

DBMS_XDB_REPOS.GETRESOID(
   abspath IN VARCHAR2)
RETURN RAW;

パラメータ

表190-22 GETRESOIDファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースが存在しない場合はNULL

190.4.21 GETXDB_TABLESPACEファンクション

このファンクションは、XDB(ユーザー)の現行の表領域を戻します。

構文

DBMS_XDB_REPOS.GETXDB_TABLESPACE
 RETURN VARCHAR2;

190.4.22 HASBLOBCONTENTファンクション

このファンクションは、リソースにBLOBコンテンツがある場合はTRUEを戻します。

構文

DBMS_XDB_REPOS.HASBLOBCONTENT 
     abspath    IN     VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-23 HASBLOBCONTENTファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースにBOBコンテンツがある場合はTRUE

190.4.23 HASCHARCONTENTファンクション

このファンクションは、リソースに文字コンテンツがある場合はTRUEを戻します。

構文

DBMS_XDB_REPOS.HASCHARCONTENT 
     abspath    IN     VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-24 HASCHARCONTENTファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースに文字コンテンツがある場合はTRUE

190.4.24 HASXMLCONTENTファンクション

このファンクションは、リソースにXMLコンテンツがある場合はTRUEを戻します。

構文

DBMS_XDB_REPOS.HASXMLCONTENT 
     abspath    IN     VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-25 HASXMLCONTENTファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースにXMLコンテンツがある場合はTRUE

190.4.25 HASXMLREFERENCEファンクション

このファンクションは、リソースにXMLコンテンツへのREFがある場合はTRUEを戻します。

構文

DBMS_XDB_REPOS.HASXMLREFERENCE 
     abspath    IN     VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-26 HASXMLREFERENCEファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースにXMLコンテンツへのREFがある場合はTRUE

190.4.26 ISFOLDERファンクション

このファンクションは、リソースがフォルダまたはコンテナの場合はTRUEを戻します。

構文

DBMS_XDB_REPOS.ISFOLDER 
     abspath    IN     VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-27 ISFOLDERファンクションのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

戻り値

リソースがフォルダまたはコンテナの場合はTRUE

190.4.27 LINKプロシージャ

このプロシージャは、指定したフォルダから指定したリソースに作成します。

構文

DBMS_XDB_REPOS.LINK(
   srcpath      IN   VARCHAR2,
   linkfolder   IN   VARCHAR2,
   linkname     IN   VARCHAR2);
DBMS_XDB_REPOS.LINK(
   srcpath      IN   VARCHAR2,
   linkfolder   IN   VARCHAR2,
   linkname     IN   VARCHAR2,
   linktype     IN   PLS_INTEGER := DBMS_XDB_REPOS.LINK_TYPE_HARD);

パラメータ

表190-28 LINKプロシージャのパラメータ

パラメータ 説明

srcpath

リンクを作成するリソースのパス名。

linkfolder

新規リンクを格納するフォルダ。

linkname

新規リンクの名前。

linktype

作成するリンクのタイプ。

  • DBMS_XDB.LINK_TYPE_HARD(デフォルト)

  • DBMS_XDB.LINK_TYPE_WEAK

  • DBMS_XDB.LINK_TYPE_SYMBOLIC

190.4.28 LOCKRESOURCEファンクション

リソースへのパスを指定して、リソースに対するWebDAVスタイルのロックを取得します。

構文

DBMS_XDB_REPOS.LOCKRESOURCE(
   path      IN  VARCHAR2,
   depthzero IN  BOOLEAN,
   shared    IN  boolean)
RETURN BOOLEAN;

パラメータ

表190-29 LOCKRESOURCEファンクションのパラメータ

パラメータ 説明

path

ロックするリソースのパス名。

depthzero

現在サポートされていません。

shared

TRUEを設定すると、共有書込みロックを取得します。

戻り値

成功した場合はTRUE

使用上のノート

ユーザーには、リソースに対するUPDATE権限が必要です。

190.4.29 PROCESSLINKSプロシージャ

このプロシージャは、指定したリソース内のドキュメント・リンクを処理します。

構文

DBMS_XDB_REPOS.PURGERESOURCEMETADATA( 
 abspath  IN  VARCHAR2,
 recurse  IN  BOOLEAN := FALSE);

パラメータ

表190-30 PROCESSLINKSプロシージャのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。パスがフォルダの場合は、recurseフラグを使用します。

recurse

abspathがフォルダを指定する場合にのみ使用します。TRUEの場合、指定したリソースをルートとするフォルダ階層内のすべてのリソースのリンクを処理します。FALSEの場合、このフォルダ内のみのすべてのドキュメントのリンクを処理します。

190.4.30 PURGERESOURCEMETADATAプロシージャ

このプロシージャは、リソースからすべてのユーザー・メタデータを削除します。スキーマ・ベースのメタデータはカスケード・モードで削除され、対応するメタデータ表から行が削除されます。

構文

DBMS_XDB_REPOS.PURGERESOURCEMETADATA(  
 abspath  IN  VARCHAR2);

パラメータ

表190-31 PURGERESOURCEMETADATAプロシージャのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

190.4.31 RENAMERESOURCEプロシージャ

このプロシージャは、XDBリソースの名前を変更します。

構文

DBMS_XDB_REPOS.RENAMERESOURCE(
   srcpath    IN  VARCHAR2,
   destfolder IN  CARCHAR2,
   newname    IN  VARCHAR2);

パラメータ

表190-32 RENAMERESOURCEプロシージャのパラメータ

パラメータ 説明

srcpath

ソース・リソース宛先フォルダの階層内の絶対パス。

destfolder

宛先フォルダの階層内の絶対パス。

newname

宛先フォルダ内の子の名前。

190.4.32 SETACLプロシージャ

このプロシージャは、指定のリソースに対するACLを、パスで指定したACLに設定します。

構文

DBMS_XDB_REPOS.SETACL(
   res_path   IN  VARCHAR2,
   acl_path   IN  VARCHAR2);

パラメータ

表190-33 SETACLプロシージャのパラメータ

パラメータ 説明

res_path

リソースの階層内の絶対パス。

acl_path

ACLの階層内の絶対パス。

使用上のノート

ユーザーには、リソースに対する<write-acl>権限が必要です。

190.4.33 SPLITPATHプロシージャ

このプロシージャは、パスを親のパスと子のパスに分割します。

構文

DBMS_XDB_REPOS.SPLITPATH(
      abspath     IN  VARCHAR2,
      parentpath  OUT VARCHAR2,
     childpath    OUT VARCHAR2);

パラメータ

表190-34 SPLITPATHプロシージャのパラメータ

パラメータ 説明

abspath

分割する絶対パス。

parentpath

親のパス。

childpath

子のパス。

190.4.34 TOUCHRESOURCEプロシージャ

このプロシージャは、リソースの変更時間を現在の時間に変更します。

構文

DBMS_XDB_REPOS.TOUCHRESOURCE 
     abspath    IN     VARCHAR2);

パラメータ

表190-35 TOUCHRESOURCEプロシージャのパラメータ

パラメータ 説明

abspath_path

リソースの絶対パス。

190.4.35 UNLOCKRESOURCEファンクション

このファンクションは、ロック・トークンとリソースへのパスを指定して、リソースのロックを解除します。

構文

DBMS_XDB_REPOS.UNLOCKRESOURCE(
   path     IN  VARCHAR2,
   deltoken IN  VARCHAR2)
 RETURN BOOLEAN;

パラメータ

表190-36 UNLOCKRESOURCEファンクションのパラメータ

パラメータ 説明

path

リソースへのパス名。

deltoken

削除するロック・トークン。

戻り値

操作が成功した場合はTRUE

使用上のノート

ユーザーには、リソースに対するUPDATE権限が必要です。

190.4.36 UPDATERESOURCEMETADATAプロシージャ

このプロシージャは、リソースのメタデータを更新します。

このプロシージャは、絶対パスで識別されるリソースおよび、そのREFで識別されて置き換えられる、そのリソース内のメタデータを使用します。メタデータの一部をユーザー定義のメタデータ(XMLTYPEへのREFまたはXMLTYPEのいずれかの形式)に置き換えます。

構文

次の構文は、スキーマ・ベースのメタデータの更新にのみ使用できます。新しいメタデータは、スキーマ・ベースである必要があります。

DBMS_XDB_REPOS.UPDATERESOURCEMETADATA(
   abspath  IN VARCHAR2,
   oldmetadata    IN   REF SYS.XMLTYPE,
   newmetadata    IN   REF SYS.XMLTYPE)
 

次の構文は、スキーマ・ベースのメタデータの更新にのみ使用できます。新しいメタデータは、スキーマ・ベースまたは非スキーマ・ベースである必要があります。

DBMS_XDB_REPOS.UPDATERESOURCEMETADATA(
   abspath        IN   VARCHAR2,
   oldmetadata    IN   REF SYS.XMLTYPE,
   newmetadata    IN   XMLTYPE);
 

次の構文は、スキーマ・ベースおよび非スキーマ・ベースの両方のメタデータに使用できます。

DBMS_XDB_REPOS.UPDATERESOURCEMETADATA(
   abspath        IN   VARCHAR2,
   oldns          IN   VARCHAR2,
   oldname IN VARCHAR,
   newmetadata IN XMLTYPE);
 

次の構文は、スキーマ・ベースおよび非スキーマ・ベースの両方のメタデータに使用できます。新しいメタデータは、スキーマ・ベースである必要があります。

DBMS_XDB_REPOS.UPDATERESOURCEMETADATA(
   abspath       IN   VARCHAR2,
   oldns         IN   VARCHAR2,
   oldname       IN   VARCHAR,
   newmetadata   IN   REF SYS.XMLTYPE);

パラメータ

表190-37 UPDATERESOURCEMETADATAプロシージャのパラメータ

パラメータ 説明

abspath

リソースの絶対パス。

oldmetadata

古いメタデータへのREF

newmetadata

新しい置換メタデータへのREF(オーバーロードに応じてスキーマ・ベースまたは非スキーマ・ベースのメタデータを使用できます)。

oldns

古いメタデータを識別するネームスペース。

oldname

古いメタデータを識別するローカル名。

使用上のノート

REFの場合、このプロシージャは、REFをリソースに、メタデータは別の表に格納します。REFの一意性が維持されます。XMLTYPEが渡された場合、データを解析してスキーマ・ベースかどうかを判断し、その結果に応じてデータを格納します。