プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

194 DBMS_XMLPARSER

DBMS_XMLPARSERを使用すると、XML文書の内容と構造にアクセスできます。XMLは、XML文書と呼ばれるデータ・オブジェクトのクラスを記述します。それらを処理するコンピュータ・プログラムの動作を記述する場合もあります。XML文書の構成は、SGMLドキュメントに準拠しています。

XML文書は、エンティティと呼ばれる記憶単位で構成され、このエンティティには解析済または未解析のデータが含まれています。解析済データは文字で構成され、一部は文字データを、他の一部はマークアップを形成します。マークアップは、ドキュメントの記憶域レイアウトと論理構造の記述をエンコードします。XMLによって、記憶域レイアウトと論理構造に対して制約を加えるメカニズムが提供されます。

XML文書の読込み、その内容と構造へのアクセスには、XMLプロセッサと呼ばれるソフトウェア・モジュールが使用されます。XMLプロセッサは、別のモジュール(アプリケーション)にかわって処理を実行しているとみなされます。XMLプロセッサ(またはパーサー)のPL/SQL実装は、W3C XML仕様REC-xml-19980210に準拠しており、XMLデータの読込み方法とアプリケーションに提供する情報に関して、XMLプロセッサに要求される動作が含まれています。

PL/SQL XMLパーサーのデフォルト動作は、DOM APIからアクセス可能な解析ツリーを構築すること、DTDが見つかった場合は妥当性チェックを行うこと(DTDが見つからない場合は妥当性チェックを行いません)、エラー・ログが指定されている場合はエラーを記録することです。解析に失敗すると、アプリケーション・エラーが発生します。

この章では、次の項目について説明します。


関連項目:

『Oracle XML DB開発者ガイド』

DBMS_XMLPARSERの使用方法

セキュリティ・モデル

DBMS_XDB_XMLPARSERパッケージは、XDBが所有しているため、SYSまたはXDBによって作成される必要があります。EXECUTE権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。

DBMS_XMLPARSERサブプログラムの要約

表194-1 DBMS_XMLPARSERパッケージのサブプログラム

メソッド 説明

FREEPARSER


パーサー・オブジェクトを解放します。

GETDOCTYPE


解析されたDTDを取得します。

GETDOCUMENT


DOM文書を取得します。

GETRELEASEVERSION


Oracle XML Parser for PL/SQLのリリース・バージョンを戻します。

GETVALIDATIONMODE


妥当性チェック・モードを戻します。

NEWPARSER


新規のパーサー・インスタンスを戻します。

PARSE


指定のURLおよびファイルに格納されたXMLを解析します。

PARSEBUFFER


指定のバッファに格納されたXMLを解析します。

PARSECLOB


指定のCLOBに格納されたXMLを解析します。

PARSEDTD


指定のURLおよびファイルに格納されたDTDを解析します。

PARSEDTDBUFFER


指定のバッファに格納されたDTDを解析します。

PARSEDTDCLOB


指定のCLOBに格納されたDTDを解析します。

SETBASEDIR


相対URLの解決に使用するベース・ディレクトリを設定します。

SETDOCTYPE


DTDを設定します。

SETERRORLOG


指定したファイルに送信するエラーを設定します。

SETPRESERVEWHITESPACE


空白の保持モードを設定します。

SETVALIDATIONMODE


妥当性チェック・モードを設定します。

SHOWWARNINGS


警告をオンまたはオフにします。


FREEPARSER

パーサー・オブジェクトを解放します。

構文

PROCEDURE freeParser(
    p Parser); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。

GETDOCTYPE

解析済のDTDを戻します。このファンクションをコールできるのは、DTDの解析後のみです。

構文

FUNCTION getDoctype(
p Parser)
RETURN DOMDocumentType; 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。

GETDOCUMENT

パーサーによって作成されたDOMツリー・ドキュメントのドキュメント・ノードを戻します。このファンクションをコールできるのは、ドキュメントの解析後のみです。

構文

FUNCTION GETDOCUMENT(
p Parser)
RETURN DOMDocument; 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。

GETRELEASEVERSION

Oracle XML Parser for PL/SQLのリリース・バージョンを戻します。

構文

FUNCTION getReleaseVersion
RETURN VARCHAR2;

GETVALIDATIONMODE

妥当性チェック・モードを取得します。妥当性チェックを行う場合はTRUE、妥当性チェックを行わない場合はFALSEになります。

構文

FUNCTION GETVALIDATIONMODE(
p Parser)
RETURN BOOLEAN; 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。

NEWPARSER

新規のパーサー・インスタンスを戻します。このファンクションは、他の解析メソッドを使用する必要がある場合、パーサーのデフォルト動作の変更前にコールする必要があります。

構文

FUNCTION newParser 
RETURN Parser; 

PARSE

指定のURLおよびファイルに格納されたXMLを解析します。解析に失敗すると、アプリケーション・エラーが発生します。このメソッドの指定方法は、次の表のとおりです。

構文 説明
FUNCTION parse(

url VARCHAR2)

RETURN DOMDocument;

作成されたDOM文書を戻します。この構文は、パーサーのデフォルト動作が受入れ可能で、URLおよびファイルの解析のみが必要な場合に使用します。
PROCEDURE parse(

p Parser,

url VARCHAR2);

パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。


パラメータ IN / OUT 説明
url (IN) 解析するURLおよびファイルの完全パス。
p (IN) パーサー・インスタンス。

PARSEBUFFER

指定のバッファに格納されたXMLを解析します。パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE PARSEBUFFER(
p   Parser,
doc VARCHAR2); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
doc (IN) 解析するXML文書のバッファ。

PARSECLOB

指定のCLOBに格納されたXMLを解析します。パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE PARSECLOB(
p   Parser,
doc CLOB); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
doc (IN) 解析するXML文書のバッファ。

PARSEDTD

指定のURLおよびファイルに格納されたDTDを解析します。パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE PARSEDTD(
p     Parser,
url   VARCHAR2,
root  VARCHAR2); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
url (IN) 解析するURLおよびファイルの完全パス。
root (IN) ルート要素の名前。

PARSEDTDBUFFER

指定のバッファに格納されたDTDを解析します。パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE PARSEDTDBUFFER(
p    Parser,
dtd  VARCHAR2,
root VARCHAR2); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
dtd (IN) 解析するDTDのバッファ。
root (IN) ルート要素の名前。

PARSEDTDCLOB

指定のCLOBに格納されたDTDを解析します。パーサーのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE PARSEDTDCLOB(
p    Parser,
dtd  CLOB,
root VARCHAR2);
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
dtd (IN) 解析するDTDのCLOB。
root (IN) ルート要素の名前。

SETBASEDIR

相対URLの解決に使用するベース・ディレクトリを設定します。解析に失敗すると、アプリケーション・エラーが発生します。

構文

PROCEDURE setBaseDir(
p   Parser,
dir VARCHAR2); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
dir (IN) ベース・ディレクトリとして使用するディレクトリ。

SETDOCTYPE

パーサーが妥当性チェックで使用するDTDを設定します。ドキュメントの解析前にコールする必要があります。

構文

PROCEDURE setDoctype(
p   Parser,
dtd DOMDocumentType); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
dtd (IN) 設定するDTD。

SETERRORLOG

指定したファイルに送信するエラーを設定します。

構文

PROCEDURE setErrorLog(
p        Parser,
fileName VARCHAR2); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
fileName (IN) エラー・ログとして使用するファイルの完全パス。

SETPRESERVEWHITESPACE

空白の保持モードを設定します。

構文

PROCEDURE setPreserveWhitespace(
p   Parser,
yes BOOLEAN); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
yes (IN) 設定するモード: 保持する場合はTRUEに、保持しない場合はFALSEに設定します。

SETVALIDATIONMODE

妥当性チェック・モードを設定します。

構文

PROCEDURE setValidationMode(
p   Parser,
yes BOOLEAN); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
yes (IN) 設定するモード: 妥当性チェックを行う場合はTRUEに、妥当性チェックを行わない場合はFALSEに設定します。

SHOWWARNINGS

警告をオンまたはオフにします。

構文

PROCEDURE showWarnings(
p   Parser,
yes BOOLEAN); 
パラメータ IN / OUT 説明
p (IN) パーサー・インスタンス。
yes (IN) 設定するモード: 警告を表示する場合はTRUEに、表示しない場合はFALSEに設定します。