283 データベースのURI TYPE

オラクル社では、データベース内でのURI参照の格納および問合せに使用できるUriTypeファミリのタイプをサポートしています。UriType自体は抽象的なオブジェクト・タイプで、そのサブタイプには、HTTPURITYPEXDBURITYPEおよびDBURITYPEがあります。

UriType列を作成して、その内部にDBURITYPEXDBURITYPEまたはHTTPURITYPEのインスタンスを格納できます。また、UriTypeのサブタイプを独自に定義し、他のURLプロトコルを処理することもできます。

ファクトリ・メソッドとして使用し、http:///oradbなどの接頭辞をスキャンすることで、このようなUriTypeの様々なインスタンスを自動生成できるUriFactoryパッケージもあります。また、独自のサブタイプを登録して、サポートする接頭辞を指定することもできます。たとえば、gopherプロトコルを処理するためのサブタイプを作成した場合、その作成済のサブタイプで処理できる接頭辞として、gopher://を登録できます。その後、指定の接頭辞で始まるURLを対象として、UriFactoryがサブタイプ・インスタンスを生成します。

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

283.1 URITYPEスーパータイプのサブプログラムの要約

UriTypeは、抽象的なスーパー・タイプです。URIにポイントされている値を取得するための標準的なファンクション・セットを提供します。プロトコルの実際の実装は、このタイプのサブタイプで定義する必要があります。

このタイプのインスタンスは直接作成できません。ただし、このタイプの列を作成してその中にサブタイプ・インスタンスを格納することや、格納されているURLのインスタンスが不明の場合でも列を選択することができます。

表283-1 URITYPEタイプのサブプログラム

メソッド 説明

GETBLOB

URLで指定されたアドレスにあるBLOBを戻します。

GETCLOB

URLで指定されたアドレスにあるCLOBを戻します。

GETCONTENTTYPE

UriTypeインスタンス内に格納されているURLをエスケープ形式で戻します。

GETEXTERNALURL

UriTypeインスタンス内に格納されているURLをエスケープ形式で戻します。

GETURL

UriTypeインスタンス内に格納されているURLを非エスケープ形式で戻します。

GETXML

URLで指定されたアドレスにあるXMLTypeを戻します。

283.1.1 UriTypeスーパータイプのGETBLOB

このファンクションは、URLで指定されたアドレスにあるBLOBを戻します。

構文

サブタイプ・インスタンス内での上書きが可能です。これらのオプションについては後述します。

このファンクションは、URLで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob()
  RETURN BLOB;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob(content OUT VARCHAR2)
  RETURN BLOB;

構文

このファンクションは、指定された文字セットのURLで指定されたアドレスにあるBLOBを戻します。

FUNCTION getBlob(csid IN NUMBER)
  RETURN BLOB;

表283-2 UriTypeスーパータイプのGETBLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

csid

(IN)

ドキュメントの文字セットID。有効なOracle IDであり、0より大きい必要があります。そうでない場合は、エラーが戻されます

283.1.2 UriTypeスーパータイプのGETCLOB

このファンクションは、URLで指定されたアドレスにあるCLOBを戻します。

サブタイプ・インスタンス内での上書きが可能です。このファンクションは、永続CLOBまたは一時CLOBのいずれかを戻します。一時CLOBが戻された場合は、解放する必要があります。これらのオプションについては後述します。

構文

このファンクションは、URLで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob()
  RETURN CLOB;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob(content OUT VARCHAR2)
  RETURN CLOB;

表283-3 UriTypeスーパータイプのGETCLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.1.3 UriTypeスーパータイプのGETCONTENTTYPE

このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。

サブタイプ・インスタンス内での上書きが可能です。このファンクションは、VARCHAR2のコンテンツ・タイプを戻します。

構文

MEMBER FUNCTION getContentType()
RETURN VARCHAR2;

283.1.4 UriTypeスーパータイプのGETEXTERNALURL

このファンクションは、UriTypeインスタンス内に格納されているURLをエスケープ形式で戻します。

追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEファンクションは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeインスタンスの属性ではなく、getExternalUrlファンクションまたはgetUrlファンクションを使用します。

構文

MEMBER FUNCTION getExternalUrl()
RETURN varchar2;

283.1.5 UriTypeスーパータイプのGETURL

このファンクションは、UriTypeインスタンス内に格納されているURLを非エスケープ形式で戻します。

追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEファンクションは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeインスタンスの属性ではなく、getExternalUrlファンクションまたはgetUrlファンクションを使用します。

構文

MEMBER FUNCTION getUrl()
RETURN varchar2;

283.1.6 UriTypeスーパータイプのGETXML

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

構文

サブタイプ・インスタンス内での上書きが可能です。これらのオプションについては後述します。

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML()
  RETURN XMLType;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML(content OUT VARCHAR2)
  RETURN XMLType;  

表283-4 UriTypeスーパータイプのGETXMLのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.2 HTTPURITYPEサブタイプのサブプログラムの要約

HTTPURITYPEUriTypeのサブタイプであり、HTTPプロトコルをサポートします。UTL_HTTPパッケージを内部で使用し、HTTP URLにアクセスします。このリリースでは、プロキシおよび保護Walletはサポートされていません。

表283-5 HTTPURITYPEタイプのサブプログラム

メソッド 説明

CREATEURI

指定されたURIからHTTPURITYPEのインスタンスを作成します。

GETBLOB

URLで指定されたアドレスにあるBLOBを戻します。

GETCLOB

URLで指定されたアドレスにあるCLOBを戻します。

GETCONTENTTYPE

URIで示されるドキュメントのコンテンツ・タイプを戻します。

GETEXTERNALURL

UriTypeインスタンス内に格納されているURLをエスケープ形式で戻します。

GETURL

UriTypeインスタンス内に格納されているURLを非エスケープ形式で戻します。

GETXML

URLで指定されたアドレスにあるXMLTypeを戻します。

HTTPURITYPE

指定されたURIからHTTPURITYPEのインスタンスを作成します。

283.2.1 HttpUriTypeサブタイプのCREATEURI

この静的ファンクションは、HTTPURITYPEインスタンスを構成します。HTTPURITYPEインスタンスは、格納されたURLの接頭辞http://を含みません。

構文

STATIC FUNCTION createUri(
   url IN varchar2)
RETURN HTTPURITYPE;

表283-6 HttpUriTypeサブタイプのCREATEURIのパラメータ

パラメータ IN / OUT 説明

url

(IN)

有効なHTTP URLを含むURL文字列(エスケープ形式)。

283.2.2 HttpUriTypeサブタイプのGETBLOB

このファンクションは、HTTP URLで指定されたアドレスにあるBLOBを戻します。

URIサブタイプATTPURITYPEのメンバー・サブプログラムGETBLOBのサブプログラムについては後述します。

構文

このファンクションは、HTTP URLで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob()
  RETURN BLOB;  

構文

このファンクションは、HTTP URLおよびコンテンツ・タイプで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob(content OUT VARCHAR2)
  RETURN BLOB;

構文

このファンクションは、指定された文字セットのURLで指定されたアドレスにあるBLOBを戻します。

FUNCTION getBlob(csid IN NUMBER)
  RETURN BLOB;  

表283-7 HttpUriTypeサブタイプのGETBLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

csid

(IN)

ドキュメントの文字セットID。有効なOracle IDであり、0より大きい必要があります。そうでない場合は、エラーが戻されます。

283.2.3 HttpUriTypeサブタイプのGETCLOB

このファンクションは、HTTP URLアドレスにあるCLOBを戻します。一時CLOBが戻された場合は、解放する必要があります。

URIサブタイプHTTPURITYPEのメンバー・サブプログラムGETCLOBのサブプログラムについては後述します。

構文

HTTP URLで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob()
  RETURN CLOB;  

構文

HTTP URLおよびコンテンツ・タイプで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob(content OUT VARCHAR2)
  RETURN CLOB;

表283-8 HttpUriTypeサブタイプのGETCLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.2.4 HttpUriTypeサブタイプのGETCONTENTTYPE

このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。

構文

MEMBER FUNCTION getContentType()
RETURN VARCHAR2;

283.2.5 HttpUriTypeサブタイプのGETEXTERNALURL

このファンクションは、HTTPURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。

HTTPURITYPEファンクションは、接頭辞http://を含みませんが、外部URLに対しては接頭辞を生成します。

構文

MEMBER FUNCTION getExternalUrl()
RETURN varchar2;

283.2.6 HttpUriTypeサブタイプのGETURL

このファンクションは、HTTPURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。

構文

MEMBER FUNCTION getUrl()
RETURN varchar2;

283.2.7 HttpUriTypeサブタイプのGETXML

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。アドレスが有効なXML文書を示していない場合は、エラーがスローされます。

URIサブタイプHttpUriTypeのメンバー・サブプログラムGETXMLのサブプログラムについては後述します。

構文

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML()
  RETURN XMLType;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML(content OUT VARCHAR2)
  RETURN XMLType;

表283-9 HttpUriTypeサブタイプのGETXMLのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.2.8 HttpUriTypeサブタイプのHTTPURITYPE

HTTPURITYPEインスタンスを構成します。HTTPURITYPEインスタンスは、格納されたURLの接頭辞http://を含みません。

構文

CONSTRUCTOR FUNCTION HTTPURITYPE(
   url IN VARCHAR2);

表283-10 HttpUriTypeサブタイプのHTTPURITYPEのパラメータ

パラメータ IN / OUT 説明

url

(IN)

有効なHTTP URLを含むURL文字列。URL文字列はエスケープ形式です。たとえば、非URL文字は、UTF-8エンコードに対する16進数として表示されます。

283.3 DBURITYPEサブタイプのサブプログラムの要約

DBURITYPEはUriTypeのサブタイプであり、DBURI参照をサポートします。DBURI参照はデータベース間のURLであり、データベース内の任意の行データ、または行データと列データの両方を参照する際に使用できます。

URLは、データベースのXMLを視覚化したXPath式として指定されます。スキーマは、表やビューを含む要素になります。さらに、この表やビューの中には行や列が含まれます。

表283-11 DBURITYPEタイプのサブプログラム

メソッド 説明

CREATEURI

DBURITYPEインスタンスを構成します。

DBURITYPE

指定されたURIからDBURITYPEのインスタンスを作成します。

GETBLOB

DBURITYPEインスタンスで指定されたアドレスにあるBLOBを戻します。

GETCLOB

DBURITYPEインスタンスで指定されたアドレスにあるCLOBを戻します。

GETCONTENTTYPE

URIで示されるドキュメントのコンテンツ・タイプを戻します。

GETEXTERNALURL

DBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。

GETURL

DBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。

GETXML

URLで指定されたアドレスにあるXMLTypeを戻します。

283.3.1 DBUriTypeサブタイプのCREATEURI

この静的ファンクションは、DBURITYPEインスタンスを構成します。指定されたURLを解析し、DBURITYPEインスタンスを作成します。

構文

STATIC FUNCTION createUri(
   url IN varchar2)
RETURN DBURITYPE;

表283-12 DBUriTypeサブタイプのCREATEURIのパラメータ

パラメータ IN / OUT 説明

url

(IN)

有効なDBURITYPEを含むエスケープ形式のURL文字列。

283.3.2 DBUriTypeサブタイプのDBURITYPE

DBURITYPEインスタンスを構成します。

構文

CONSTRUCTOR FUNCTION DBURITYPE(
   url IN varchar2);

表283-13 DBUriTypeサブタイプのDBURITYPEのパラメータ

パラメータ IN / OUT 説明

url

(IN)

有効なDBURITYPEを含むURL文字列。URL文字列はエスケープ形式です。たとえば、非URL文字は、UTF-8エンコードに対する16進数として表示されます。

283.3.3 DBUriTypeサブタイプのGETBLOB

このファンクションは、URLで指定されたアドレスにあるBLOBを戻します。

URIサブタイプDBURITYPEのメンバー・サブプログラムGETBLOBのサブプログラムについては後述します。指定できるオプションは、次の表のとおりです。

構文

このファンクションは、URLで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob()
  RETURN BLOB;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob(content OUT VARCHAR2)
  RETURN BLOB;

構文

このファンクションは、指定された文字セットのURLで指定されたアドレスにあるBLOBを戻します。

FUNCTION getBlob(csid IN NUMBER)
  RETURN BLOB;  

表283-14 DBUriTypeサブタイプのGETBLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

csid

(IN)

ドキュメントの文字セットID。有効なOracle IDであり、0より大きい必要があります。そうでない場合は、エラーが戻されます。

283.3.4 DBUriTypeサブタイプのGETCLOB

このファンクションは、DBURITYPEインスタンスで指定されたアドレスにあるCLOBを戻します。

一時CLOBが戻された場合は、解放する必要があります。XML文書またはテキスト文書が戻されます。DBURI参照がXPathの要素を識別すると、フォーマットされたXML文書が返されます。他方、テキスト・ノードを識別すると、列または属性のテキスト・コンテンツのみが返されます。これらのオプションについては後述します。

構文

次のファンクションは、DBURITYPEインスタンスで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob()
  RETURN CLOB;

構文

次のファンクションは、DBURITYPEインスタンスおよびコンテンツ・タイプで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob(content OUT VARCHAR2)
RETURN CLOB;

表283-15 DBUriTypeサブタイプのGETCLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.3.5 DBUriTypeサブタイプのGETCONTENTTYPE

このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。

構文

MEMBER FUNCTION getContentType()
RETURN VARCHAR2;

283.3.6 DBUriTypeサブタイプのGETEXTERNALURL

このファンクションは、DBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。エスケープしたURLをWebページ上で使用する前に、DBURITYPEを処理するDBUriサーブレットのURLを追加する必要があります。

構文

MEMBER FUNCTION getExternalUrl()
RETURN varchar2;

283.3.7 DBUriTypeサブタイプのGETURL

このファンクションは、DBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。

構文

MEMBER FUNCTION getUrl()
RETURN varchar2;

283.3.8 DBUriTypeサブタイプのGETXML

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

URIサブタイプDBPURITYPEのメンバー・サブプログラムGETXMLのサブプログラムについては後述します。指定できるオプションは、次の表のとおりです。

構文

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML()
  RETURN XMLType;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML(content OUT VARCHAR2)
  RETURN XMLType;

表283-16 DBUriTypeサブタイプのGETXMLのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.4 XDBURITYPEサブタイプのサブプログラムの要約

XDBURITYPEは、URITypeの新しいサブタイプです。Oracle XML DB階層に含まれるドキュメントをURIとして表示し、URIType列として表に埋め込むことができます。

URIのURL部分は、参照先のXMLドキュメントの階層名です。オプションのフラグメント部分はXPath構文を使用し、#でURL部分から分離します。フラグメントを指定するさらに一般的なXPointer構文は、現在サポートされていません。

表283-17 XDBURITYPEタイプのサブプログラム

メソッド 説明

CREATEURI

指定されたURLに対応するUriTypeを戻します。

GETBLOB

XDBURITYPEインスタンスで指定された文書のコンテンツに対応するBLOBを戻します。

GETCLOB

XDBURITYPEインスタンスで指定された文書のコンテンツに対応するCLOBを戻します。

GETCONTENTTYPE

URIで示されるドキュメントのコンテンツ・タイプを戻します。

GETEXTERNALURL

XDBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。

GETURL

XDBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。

GETXML

URLで指定された文書のコンテンツに対応するXMLTypeを戻します。

XDBURITYPE

指定されたURIからXDBURITYPEのインスタンスを作成します。

283.4.1 XDBUriTypeサブタイプのCREATEURI

この静的ファンクションは、XDBURITYPEインスタンスを構成します。指定されたURLを解析し、XDBURITYPEインスタンスを作成します。

構文

STATIC FUNCTION createUri(
   url IN varchar2)
RETURN XDBURITYPE
パラメータ IN / OUT 説明

url

(IN)

有効なXDBURITYPEを含むエスケープ形式のURL文字列。

283.4.2 XDBUriTypeサブタイプのGETBLOB

このファンクションは、XDBURITYPEインスタンスで指定されたアドレスにあるBLOBを戻します。

URIサブタイプXDBURITYPEのメンバー・サブプログラムGETBLOBのサブプログラムについては後述します。指定できるオプションは、次の表のとおりです。

構文

このファンクションは、URLで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob()
  RETURN BLOB;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるBLOBを戻します。

MEMBER FUNCTION getBlob(content OUT VARCHAR2)
  RETURN BLOB;

構文

このファンクションは、指定された文字セットのURLで指定されたアドレスにあるBLOBを戻します。

FUNCTION getBlob(csid IN NUMBER)
  RETURN BLOB;

表283-18 XDBUriTypeサブタイプのGETBLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

csid

(IN)

ドキュメントの文字セットID。有効なOracle IDであり、0より大きい必要があります。そうでない場合は、エラーが戻されます。

283.4.3 XDBUriTypeサブタイプのGETCLOB

このファンクションは、XDBURITYPEインスタンスで指定されたアドレスにあるCLOBを戻します。一時CLOBが戻された場合は、解放する必要があります。

URIサブタイプXDBURITYPEのメンバー・サブプログラムGETCLOBのサブプログラムについては後述します。指定できるオプションは、次の表のとおりです。

構文

XDBUriTypeインスタンスで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob()
  RETURN CLOB;

構文

XDBUriTypeインスタンスおよびコンテンツ・タイプで指定されたアドレスにあるCLOBを戻します。

MEMBER FUNCTION getClob(content OUT VARCHAR2)
  RETURN CLOB;

表283-19 XDBUriTypeサブタイプのGETCLOBのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.4.4 XDBUriTypeサブタイプのGETCONTENTTYPE

このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。このファンクションは、VARCHAR2のコンテンツ・タイプを戻します。

構文

MEMBER FUNCTION getContentType()
RETURN VARCHAR2;

283.4.5 XDBUriTypeサブタイプのGETEXTERNALURL

このファンクションは、XDBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。

構文

MEMBER FUNCTION getExternalUrl()
RETURN varchar2;

283.4.6 XDBUriTypeサブタイプのGETURL

このファンクションは、XDBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。

構文

MEMBER FUNCTION getUrl()
RETURN varchar2;

283.4.7 XDBUriTypeサブタイプのGETXML

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

URIサブタイプXDBURITYPEのメンバー・サブプログラムGETXMLのサブプログラムについては後述します。指定できるオプションは、次の表のとおりです。

構文

このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML()
  RETURN XMLType;

構文

このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるXMLTypeを戻します。

MEMBER FUNCTION getXML(content OUT VARCHAR2)
  RETURN XMLType;

表283-20 XDBUriTypeサブタイプのGETXMLのパラメータ

パラメータ IN / OUT 説明

content

(OUT)

URIが示すドキュメントのコンテンツ・タイプ。

283.4.8 XDBUriTypeサブタイプのXDBURITYPE

XDBURITYPEインスタンスを構成します。

構文

CONSTRUCTOR FUNCTION XDBURITYPE(
   url     IN   VARCHAR2,
   flags   IN   RAW := NULL)
 RETURN self AS RESULT;

表283-21 XDBUriTypeサブタイプのXDBURITYPEのパラメータ

パラメータ IN / OUT 説明

url

(IN)

有効なXDBUriTypeを含むURL文字列。URL文字列はエスケープ形式です。たとえば、非URL文字は、UTF-8エンコードに対する16進数として表示されます。

flags

(IN)

使用可能な値は次のとおりです。

  • 1 - 結果の内容を戻す前にすべてのXInclude要素を拡張します。いずれかのXInclude要素が、XIncludeフォールバック・セマンティクスに従って正常に解決されない場合は、エラーが発生します。

  • 2 - 文書の取得中に発生したすべてのエラーが表示されないことを示します。

  • 3 - 両方のフラグ・ビット(12)が有効になります。

283.5 URIFACTORYパッケージのサブプログラムの要約

UriFactoryパッケージには、プログラム実装のハード・コードを行わずにURIタイプの適切なインスタンスを生成できる、ファクトリ・メソッドが含まれています。

また、UriFactoryパッケージには、多様なプロトコルに対応するUriTypeの新しいサブタイプを登録する機能が備わっています。たとえば、新しいプロトコルecom://を作成すると、そのプロトコルを処理するUriTypeのサブタイプを定義し、UriFactoryに登録できます。登録後、ファクトリ・メソッドは、ecom://の接頭辞を検出すると新しいサブタイプ・インスタンスを生成します。

表283-22 URIFACTORYタイプのサブプログラム

メソッド 説明

GETURI

指定されたURL文字列用に正しいURLハンドラを戻します。

ESCAPEURI

URLをエスケープ形式で戻します。

UNESCAPEURI

URLを非エスケープ形式で戻します。

REGISTERURLHANDLER

特定のURLを処理するタイプの名前を登録します。

UNREGISTERURLHANDLER

URLハンドラを登録解除します。

283.5.1 UriFactoryパッケージのGETURI

このファクトリ・メソッドは、指定されたURI文字列用に正しいURIハンドラを戻します。

プロトコルを処理できるUriTypeのサブタイプ・インスタンスを戻します。URLを解決できない場合は、デフォルトで常にXDBURITYPEインスタンスが作成されます。REGISTERURLHANDLERファンクションを使用すると、URLハンドラを特定の接頭辞に対して登録できます。接頭辞が一致する場合、GETURIではそのサブタイプを使用します。

構文

FUNCTION getUri(
   url IN Varchar2)
RETURN UriType;

表283-23 UriFactoryパッケージのGETURIのパラメータ

パラメータ IN / OUT 説明

uri

(IN)

有効なHTTP URLを含むエスケープ形式のURL文字列。

283.5.2 UriFactoryパッケージのESCAPEURI

このファンクションは、URLをエスケープ形式で戻します。

追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeの属性ではなく、GETEXTERNALURLファンクションまたはGETURIファンクションを使用します。

構文

MEMBER FUNCTION escapeUri()
RETURN varchar2;

表283-24 UriFactoryパッケージのESCAPEURIのパラメータ

パラメータ IN / OUT 説明

url

(IN)

URL文字列はエスケープ形式で戻されます。

283.5.3 UriFactoryパッケージのUNESCAPEURI

このファンクションは、URLを非エスケープ形式で戻します。

つまり、このファンクションではESCAPEURIと反対の処理が実行されます。ファンクションによる文字列のスキャン後、さらに文字が非URL16進からUTF-8に変換されます。戻りタイプはVARCHAR2になるため、データベース文字セットで定義されたものと同種の文字に変換されます。

構文

FUNCTION unescapeUri()
RETURN varchar2;

表283-25 UriFactoryパッケージのUNESCAPEURIのパラメータ

パラメータ IN / OUT 説明

url

(IN)

URL文字列は非エスケープ形式で戻されます。

283.5.4 UriFactoryパッケージのREGISTERURLHANDLER

このパッケージは、特定のURLを処理するための特定の型名を登録します。

指定するタイプは、有効であり、UriTypeのサブタイプまたはそのサブタイプの1つである必要があります。また、createUri静的メンバー・ファンクションを実装する必要もあります。このファンクションは、GETURIファンクションによりコールされ、タイプのインスタンスを生成します。stripprefixパラメータは、このファンクションをコールする前に接頭辞の削除が必要であることを示しています。

構文

PROCEDURE registerUrlHandler(
   prefix IN varchar2,
   schemaName IN varchar2,
   typename IN varchar2,
   ignoreCase IN boolean := true,
   stripprefix IN boolean := true);

表283-26 UriFactoryパッケージのREGISTERURLHANDLERのパラメータ

パラメータ IN / OUT 説明

prefix

(IN)

処理対象の接頭辞(例: http://)。

schemaName

(IN)

タイプが含まれているスキーマの名前(大文字と小文字が区別されます)。

typename

(IN)

URLを処理するタイプの名前(大文字と小文字が区別されます)。

ignoreCase

(IN)

接頭辞が一致している場合、大文字と小文字は区別されません。

stripprefix

(IN)

タイプのインスタンスを生成する前に接頭辞を削除します。

283.5.5 UriFactoryパッケージのUNREGISTERURLHANDLER

このプロシージャは、URLハンドラの登録を解除します。登録解除されるハンドラの接頭辞は、ユーザーが登録したものに限定されます。事前定義されたシステム接頭辞(http://など)は登録解除されません。

構文

PROCEDURE unregisterUrlHandler(
   prefix IN VARCHAR2);

表283-27 UriFactoryパッケージのUNREGISTERURLHANDLERのパラメータ

パラメータ IN / OUT 説明

prefix

(IN)

登録解除対象の接頭辞。