XSR_EXTENTITY プロシージャー
XSR_EXTENTITY プロシージャーは、外部エンティティーを XML スキーマ・リポジトリー (XSR) に登録します。
スキーマは SYSPROC です。
許可
このプロシージャーの呼び出し元の許可 ID には、少なくとも次のいずれかが必要です。
- DBADM 権限。
- IMPLICIT_SCHEMA データベース権限 (SQL スキーマが存在しない場合)。
- CREATEIN 特権 (SQL スキーマが存在する場合)。
- rschema
- 外部エンティティーのための SQL スキーマを指定するタイプ VARCHAR (128) の入出力引数。 SQL スキーマは XSR 内でこの外部エンティティーの識別に使用される SQL ID の一部です。 (SQL ID のもう 1 つの部分は name 引数によって与えられます。) この引数には、NULL 値を入れることができます。 このことは、CURRENT SCHEMA 特殊レジスターで定義されるように、デフォルトの SQL スキーマが使用されていることを示しています。すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。 ストリング SYS で始まるリレーショナル・スキーマをこの値に使用しないでください。 XSR オブジェクトは、XSR の外に存在するデータベース・オブジェクトとの間で名前の衝突を起こすことはありません。XSR オブジェクトは、XML スキーマ・リポジトリー の外にあるオブジェクトとは違う名前空間で発生するからです。
- name
- 外部エンティティーの名前を指定する、タイプ VARCHAR (128) の入出力引数。 外部エンティティーの完全 SQL ID は、rschema.name で、XSR にあるすべてのオブジェクト間で固有でなければなりません。 この引数は NULL 値を受け入れます。 この引数に NULL 値が提供される場合、固有な値が生成され、XSR 内に保存されます。 すべての SQL ID に適用される有効な文字と区切り文字の規則は、この引数にも適用されます。
- systemid
- 外部エンティティーのためのシステム ID を指定する、タイプ VARCHAR (1000) の入力パラメーター。 外部エンティティーのシステム ID は、ENTITY 宣言 (使用されている場合は SYSTEM キーワードが接頭部になる) 中の外部エンティティーの URI と一致している必要があります。 この引数に NULL 値を入れることはできません。 システム ID と公開 ID を一緒に指定できます。
- publicid
- 外部エンティティーのための公開 ID を指定する、タイプ VARCHAR (1000) の入力パラメーター。外部エンティティーの公開 ID は、ENTITY 宣言 (使用されている場合は PUBLIC キーワードが接頭部になる) 中の外部エンティティーの URI と一致している必要があります。 この引数は、NULL 値を受け入れ、XML インスタンス文書の DOCTYPE 宣言または ENTITY 宣言中でも指定されている場合のみ使用する必要があります。
- content
- 外部エンティティー文書の内容を含むタイプ BLOB (30M) の入力パラメーター。 この引数に NULL 値を入れることはできません。
例
システム ID http://www.test.com/food/chocolate.txt および http://www.test.com/food/cookie.txt で識別される外部エンティティーを登録します。
CALL SYSPROC.XSR_EXTENTITY ( 'FOOD' ,
'CHOCLATE' ,
'http://www.test.com/food/chocolate.txt' ,
NULL ,
:content_of_chocolate.txt_as_a_host_variable
)
CALL SYSPROC.XSR_EXTENTITY ( 'FOOD' ,
'COOKIE' ,
'http://www.test.com/food/cookie.txt' ,
NULL ,
:content_of_cookie.txt_as_a_host_variable
)