ヘッダーをスキップ
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

XML条件

XML条件は、指定したXMLリソースが、指定されたパスにあるかどうかを判断します。

EQUALS_PATH条件

EQUALS_PATH条件は、Oracle XMLデータベース内のリソースが、指定されたパスのデータベースにあるかどうかを判断します。

この条件は、RESOURCE_VIEWおよびPATH_VIEWの問合せで使用します。これらのパブリック・ビューは、XMLデータベース・リポジトリ内に格納されているデータに対してSQLでアクセスするためのメカニズムを提供します。RESOURCE_VIEWには、リポジトリ内のリソースごとに行が1行あり、PATH_VIEWには、リポジトリ内の一意パスごとに行が1行あります。

equals_path_condition::=

equals_path_condition.gifの説明が続きます。
equals_path_condition.gifの説明

この条件は、指定どおりパスにのみ適用されます。この条件は、UNDER_PATHと似ていますが、制限は多くなります。

path_stringには、変換する(絶対)パス名を指定します。これには、ハード・リソース・リンクまたはウィーク・リソース・リンクである構成要素を含めることができます。

オプションのcorrelation_integer引数は、EQUALS_PATH条件を補助ファンクションDEPTHおよびPATHと関連付けます。


関連項目:

「UNDER_PATH条件」「DEPTH」および「PATH」を参照してください。

ビューRESOURCE_VIEWは、データベース・リポジトリ内の(res列にある)すべてのXMLリソースへの(any_path列にある)パスを計算します。次の例は、RESOURCE_VIEWビューに問い合せて、サンプル・スキーマoeにあるリソースへのパスを検索します。EQUALS_PATH条件によって、問合せは指定されたパスのみを戻します。

SELECT ANY_PATH FROM RESOURCE_VIEW
   WHERE EQUALS_PATH(res, '/sys/schemas/OE/www.example.com')=1;

ANY_PATH
-----------------------------------------------
/sys/schemas/OE/www.example.com

この例と、「UNDER_PATH条件」の例を比較してください。

UNDER_PATH条件

UNDER_PATH条件は、列で指定されたリソースが、Oracle XMLデータベース・リポジトリのpath_stringで指定された特定のパスにあるかどうかを判断します。パス情報は、この条件を使用する場合に問い合せるRESOURCE_VIEWビューによって計算されます。

この条件は、RESOURCE_VIEWおよびPATH_VIEWの問合せで使用します。これらのパブリック・ビューは、XMLデータベース・リポジトリ内に格納されているデータに対してSQLでアクセスするためのメカニズムを提供します。RESOURCE_VIEWには、リポジトリ内のリソースごとに行が1行あり、PATH_VIEWには、リポジトリ内の一意パスごとに行が1行あります。

under_path_condition::=

under_path_condition.gifの説明が続きます。
under_path_condition.gifの説明

オプションのlevels引数は、検索対象となるpath_string以下のレベル数を示します。levelsには負ではない整数を指定します。

オプションのcorrelation_integer引数は、UNDER_PATH条件を補助ファンクションPATHおよびDEPTHと関連付けます。


関連項目:

関連する条件については、「EQUALS_PATH条件」を参照してください。補助ファンクションについては、「DEPTH」および「PATH」を参照してください。

ビューRESOURCE_VIEWは、データベース・リポジトリ内の(res列にある)すべてのXMLリソースへの(any_path列にある)パスを計算します。次の例は、RESOURCE_VIEWビューに問い合せて、サンプル・スキーマoeにあるリソースへのパスを検索します。この問合せは、「XMLType表の例:」で作成されたXMLスキーマのパスを戻します。

SELECT ANY_PATH FROM RESOURCE_VIEW
   WHERE UNDER_PATH(res, '/sys/schemas/OE/www.example.com')=1;

ANY_PATH
----------------------------------------------
/sys/schemas/OE/www.example.com/xwarehouses.xsd