286 データベースのURIタイプ
オラクル社では、データベース内でのURI参照の格納および問合せに使用できるUriTypeファミリのタイプをサポートしています。UriType自体は抽象的なオブジェクト・タイプで、そのサブタイプには、HTTPURITYPE、XDBURITYPEおよびDBURITYPEがあります。
UriType列を作成して、その内部にDBURITYPE、XDBURITYPEまたはHTTPURITYPEのインスタンスを格納できます。また、UriTypeのサブタイプを独自に定義し、他のURLプロトコルを処理することもできます。
ファクトリ・メソッドとして使用し、http://や/oradbなどの接頭辞をスキャンすることで、このようなUriTypeの様々なインスタンスを自動生成できるUriFactoryパッケージもあります。また、独自のサブタイプを登録して、サポートする接頭辞を指定することもできます。たとえば、gopherプロトコルを処理するためのサブタイプを作成した場合、その作成済のサブタイプで処理できる接頭辞として、gopher://を登録できます。その後、指定の接頭辞で始まるURLを対象として、UriFactoryがサブタイプ・インスタンスを生成します。
この章のトピックは、次のとおりです:
286.1 URITYPEスーパータイプのサブプログラムの要約
UriTypeは、抽象的なスーパー・タイプです。URIにポイントされている値を取得するための標準的なファンクション・セットを提供します。プロトコルの実際の実装は、このタイプのサブタイプで定義する必要があります。
このタイプのインスタンスは直接作成できません。ただし、このタイプの列を作成してその中にサブタイプ・インスタンスを格納することや、格納されているURLのインスタンスが不明の場合でも列を選択することができます。
表286-1 URITYPEタイプのサブプログラム
| メソッド | 説明 |
|---|---|
|
URLで指定されたアドレスにある |
|
|
URLで指定されたアドレスにある |
|
|
|
|
|
|
|
|
|
|
|
URLで指定されたアドレスにある |
286.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;
表286-2 UriTypeスーパータイプのGETBLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
|
|
|
ドキュメントの文字セットID。有効なOracle IDであり、 |
286.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;
表286-3 UriTypeスーパータイプのGETCLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.1.3 UriTypeスーパータイプのGETCONTENTTYPE
このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。
サブタイプ・インスタンス内での上書きが可能です。このファンクションは、VARCHAR2のコンテンツ・タイプを戻します。
構文
MEMBER FUNCTION getContentType() RETURN VARCHAR2;
286.1.4 UriTypeスーパータイプのGETEXTERNALURL
このファンクションは、UriTypeインスタンス内に格納されているURLをエスケープ形式で戻します。
追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEファンクションは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeインスタンスの属性ではなく、getExternalUrlファンクションまたはgetUrlファンクションを使用します。
構文
MEMBER FUNCTION getExternalUrl() RETURN varchar2;
286.1.5 UriTypeスーパータイプのGETURL
このファンクションは、UriTypeインスタンス内に格納されているURLを非エスケープ形式で戻します。
追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEファンクションは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeインスタンスの属性ではなく、getExternalUrlファンクションまたはgetUrlファンクションを使用します。
構文
MEMBER FUNCTION getUrl() RETURN varchar2;
286.1.6 UriTypeスーパータイプのGETXML
このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。
構文
サブタイプ・インスタンス内での上書きが可能です。これらのオプションについては後述します。
このファンクションは、URLで指定されたアドレスにあるXMLTypeを戻します。
MEMBER FUNCTION getXML() RETURN XMLType;
構文
このファンクションは、URLおよびコンテンツ・タイプで指定されたアドレスにあるXMLTypeを戻します。
MEMBER FUNCTION getXML(content OUT VARCHAR2) RETURN XMLType;
表286-4 UriTypeスーパータイプのGETXMLのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.2 HTTPURITYPEサブタイプのサブプログラムの要約
HTTPURITYPEはUriTypeのサブタイプであり、HTTPプロトコルをサポートします。UTL_HTTPパッケージを内部で使用し、HTTP URLにアクセスします。このリリースでは、プロキシおよび保護Walletはサポートされていません。
表286-5 HTTPURITYPEタイプのサブプログラム
| メソッド | 説明 |
|---|---|
|
指定されたURIから |
|
|
URLで指定されたアドレスにある |
|
|
URLで指定されたアドレスにある |
|
|
URIで示されるドキュメントのコンテンツ・タイプを戻します。 |
|
|
|
|
|
|
|
|
URLで指定されたアドレスにある |
|
|
指定されたURIから |
286.2.1 HttpUriTypeサブタイプのCREATEURI
この静的ファンクションは、HTTPURITYPEインスタンスを構成します。HTTPURITYPEインスタンスは、格納されたURLの接頭辞http://を含みません。
構文
STATIC FUNCTION createUri( url IN varchar2) RETURN HTTPURITYPE;
表286-6 HttpUriTypeサブタイプのCREATEURIのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効なHTTP URLを含むURL文字列(エスケープ形式)。 |
286.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;
表286-7 HttpUriTypeサブタイプのGETBLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
|
|
|
ドキュメントの文字セットID。有効なOracle IDであり、 |
286.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;
表286-8 HttpUriTypeサブタイプのGETCLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.2.4 HttpUriTypeサブタイプのGETCONTENTTYPE
このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。
構文
MEMBER FUNCTION getContentType() RETURN VARCHAR2;
286.2.5 HttpUriTypeサブタイプのGETEXTERNALURL
このファンクションは、HTTPURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。
HTTPURITYPEファンクションは、接頭辞http://を含みませんが、外部URLに対しては接頭辞を生成します。
構文
MEMBER FUNCTION getExternalUrl() RETURN varchar2;
286.2.6 HttpUriTypeサブタイプのGETURL
このファンクションは、HTTPURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。
構文
MEMBER FUNCTION getUrl() RETURN varchar2;
286.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;
表286-9 HttpUriTypeサブタイプのGETXMLのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.2.8 HttpUriTypeサブタイプのHTTPURITYPE
HTTPURITYPEインスタンスを構成します。HTTPURITYPEインスタンスは、格納されたURLの接頭辞http://を含みません。
構文
CONSTRUCTOR FUNCTION HTTPURITYPE( url IN VARCHAR2);
表286-10 HttpUriTypeサブタイプのHTTPURITYPEのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効なHTTP URLを含むURL文字列。URL文字列はエスケープ形式です。たとえば、非URL文字は、UTF-8エンコードに対する16進数として表示されます。 |
286.3 DBURITYPEサブタイプのサブプログラムの要約
DBURITYPEはUriTypeのサブタイプであり、DBURI参照をサポートします。DBURI参照はデータベース間のURLであり、データベース内の任意の行データ、または行データと列データの両方を参照する際に使用できます。
URLは、データベースのXMLを視覚化したXPath式として指定されます。スキーマは、表やビューを含む要素になります。さらに、この表やビューの中には行や列が含まれます。
表286-11 DBURITYPEタイプのサブプログラム
| メソッド | 説明 |
|---|---|
|
|
|
|
指定されたURIから |
|
|
|
|
|
|
|
|
URIで示されるドキュメントのコンテンツ・タイプを戻します。 |
|
|
|
|
|
|
|
|
URLで指定されたアドレスにある |
286.3.1 DBUriTypeサブタイプのCREATEURI
この静的ファンクションは、DBURITYPEインスタンスを構成します。指定されたURLを解析し、DBURITYPEインスタンスを作成します。
構文
STATIC FUNCTION createUri( url IN varchar2) RETURN DBURITYPE;
表286-12 DBUriTypeサブタイプのCREATEURIのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効な |
286.3.2 DBUriTypeサブタイプのDBURITYPE
DBURITYPEインスタンスを構成します。
構文
CONSTRUCTOR FUNCTION DBURITYPE( url IN varchar2);
表286-13 DBUriTypeサブタイプのDBURITYPEのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効な |
286.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;
表286-14 DBUriTypeサブタイプのGETBLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
|
|
|
ドキュメントの文字セットID。有効なOracle IDであり、 |
286.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;
表286-15 DBUriTypeサブタイプのGETCLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.3.5 DBUriTypeサブタイプのGETCONTENTTYPE
このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。
構文
MEMBER FUNCTION getContentType() RETURN VARCHAR2;
286.3.6 DBUriTypeサブタイプのGETEXTERNALURL
このファンクションは、DBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。エスケープしたURLをWebページ上で使用する前に、DBURITYPEを処理するDBUriサーブレットのURLを追加する必要があります。
構文
MEMBER FUNCTION getExternalUrl() RETURN varchar2;
286.3.7 DBUriTypeサブタイプのGETURL
このファンクションは、DBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。
構文
MEMBER FUNCTION getUrl() RETURN varchar2;
286.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;
表286-16 DBUriTypeサブタイプのGETXMLのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.4 XDBURITYPEサブタイプのサブプログラムの要約
XDBURITYPEは、URITypeの新しいサブタイプです。Oracle XML DB階層に含まれるドキュメントをURIとして表示し、URIType列として表に埋め込むことができます。
URIのURL部分は、参照先のXMLドキュメントの階層名です。オプションのフラグメント部分はXPath構文を使用し、#でURL部分から分離します。フラグメントを指定するさらに一般的なXPointer構文は、現在サポートされていません。
表286-17 XDBURITYPEタイプのサブプログラム
| メソッド | 説明 |
|---|---|
|
指定されたURLに対応する |
|
|
|
|
|
|
|
|
URIで示されるドキュメントのコンテンツ・タイプを戻します。 |
|
|
|
|
|
|
|
|
URLで指定された文書のコンテンツに対応する |
|
|
指定されたURIから |
286.4.1 XDBUriTypeサブタイプのCREATEURI
この静的ファンクションは、XDBURITYPEインスタンスを構成します。指定されたURLを解析し、XDBURITYPEインスタンスを作成します。
構文
STATIC FUNCTION createUri( url IN varchar2) RETURN XDBURITYPE
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効な |
286.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;
表286-18 XDBUriTypeサブタイプのGETBLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
|
|
|
ドキュメントの文字セットID。有効なOracle IDであり、 |
286.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;
表286-19 XDBUriTypeサブタイプのGETCLOBのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.4.4 XDBUriTypeサブタイプのGETCONTENTTYPE
このファンクションは、URIで示されるドキュメントのコンテンツ・タイプを戻します。このファンクションは、VARCHAR2のコンテンツ・タイプを戻します。
構文
MEMBER FUNCTION getContentType() RETURN VARCHAR2;
286.4.5 XDBUriTypeサブタイプのGETEXTERNALURL
このファンクションは、XDBURITYPEインスタンス内に格納されているURLをエスケープ形式で戻します。
構文
MEMBER FUNCTION getExternalUrl() RETURN varchar2;
286.4.6 XDBUriTypeサブタイプのGETURL
このファンクションは、XDBURITYPEインスタンス内に格納されているURLを非エスケープ形式で戻します。
構文
MEMBER FUNCTION getUrl() RETURN varchar2;
286.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;
表286-20 XDBUriTypeサブタイプのGETXMLのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URIが示すドキュメントのコンテンツ・タイプ。 |
286.4.8 XDBUriTypeサブタイプのXDBURITYPE
XDBURITYPEインスタンスを構成します。
構文
CONSTRUCTOR FUNCTION XDBURITYPE( url IN VARCHAR2, flags IN RAW := NULL) RETURN self AS RESULT;
表286-21 XDBUriTypeサブタイプのXDBURITYPEのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効な |
|
|
|
使用可能な値は次のとおりです。
|
286.5 URIFACTORYパッケージのサブプログラムの要約
UriFactoryパッケージには、プログラム実装のハード・コードを行わずにURIタイプの適切なインスタンスを生成できる、ファクトリ・メソッドが含まれています。
また、UriFactoryパッケージには、多様なプロトコルに対応するUriTypeの新しいサブタイプを登録する機能が備わっています。たとえば、新しいプロトコルecom://を作成すると、そのプロトコルを処理するUriTypeのサブタイプを定義し、UriFactoryに登録できます。登録後、ファクトリ・メソッドは、ecom://の接頭辞を検出すると新しいサブタイプ・インスタンスを生成します。
表286-22 URIFACTORYタイプのサブプログラム
| メソッド | 説明 |
|---|---|
|
指定されたURL文字列用に正しいURLハンドラを戻します。 |
|
|
URLをエスケープ形式で戻します。 |
|
|
URLを非エスケープ形式で戻します。 |
|
|
特定のURLを処理するタイプの名前を登録します。 |
|
|
URLハンドラを登録解除します。 |
286.5.1 UriFactoryパッケージのGETURI
このファクトリ・メソッドは、指定されたURI文字列用に正しいURIハンドラを戻します。
プロトコルを処理できるUriTypeのサブタイプ・インスタンスを戻します。URLを解決できない場合は、デフォルトで常にXDBURITYPEインスタンスが作成されます。REGISTERURLHANDLERファンクションを使用すると、URLハンドラを特定の接頭辞に対して登録できます。接頭辞が一致する場合、GETURIではそのサブタイプを使用します。
構文
FUNCTION getUri( url IN Varchar2) RETURN UriType;
表286-23 UriFactoryパッケージのGETURIのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
有効なHTTP URLを含むエスケープ形式のURL文字列。 |
286.5.2 UriFactoryパッケージのESCAPEURI
このファンクションは、URLをエスケープ形式で戻します。
追加のセマンティクスを提供するため、このメンバー・ファンクションはサブタイプ・インスタンスに上書きされます。たとえば、HTTPURITYPEは、URL内に接頭辞http://を格納しません。外部URLの生成時に、接頭辞の追加と生成を行います。つまり、URLの値を取得するには、UriTypeの属性ではなく、GETEXTERNALURLファンクションまたはGETURIファンクションを使用します。
構文
MEMBER FUNCTION escapeUri() RETURN varchar2;
表286-24 UriFactoryパッケージのESCAPEURIのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URL文字列はエスケープ形式で戻されます。 |
286.5.3 UriFactoryパッケージのUNESCAPEURI
このファンクションは、URLを非エスケープ形式で戻します。
つまり、このファンクションではESCAPEURIと反対の処理が実行されます。ファンクションによる文字列のスキャン後、さらに文字が非URL16進からUTF-8に変換されます。戻りタイプはVARCHAR2になるため、データベース文字セットで定義されたものと同種の文字に変換されます。
構文
FUNCTION unescapeUri() RETURN varchar2;
表286-25 UriFactoryパッケージのUNESCAPEURIのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
URL文字列は非エスケープ形式で戻されます。 |
286.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);
表286-26 UriFactoryパッケージのREGISTERURLHANDLERのパラメータ
| パラメータ | IN / OUT | 説明 |
|---|---|---|
|
|
|
処理対象の接頭辞(例: |
|
|
|
タイプが含まれているスキーマの名前(大文字と小文字が区別されます)。 |
|
|
|
URLを処理するタイプの名前(大文字と小文字が区別されます)。 |
|
|
|
接頭辞が一致している場合、大文字と小文字は区別されません。 |
|
|
|
タイプのインスタンスを生成する前に接頭辞を削除します。 |