DBMS_XSLPROCESSORパッケージは、XML文書の内容と構造を管理するインタフェースを提供します。
この章では、次の項目について説明します。
概要
関連項目:
|
この項では、DBMS_XSLPROCESSOR
パッケージの使用に関連する項目について説明します。
DBMS_XSLPROCESSOR
パッケージは、XML文書の内容と構造を管理するインタフェースを提供します。
標準
XSL ProcessorのPL/SQL実装は、W3C XSLT草案(改訂WD-xslt-19990813)に準拠しています。また、XSLTスタイルシートの読込み方法と影響を与える変換に関して、XSL Processorに要求される動作が含まれています。
概念
eXtensible Stylesheet Language Transformation(XSLT)は、ソース・ツリーを結果ツリーに変換するルールを記述します。XSLTで表現する変換は、スタイルシートと呼ばれます。指定した変換は、パターンをスタイルシートで定義したテンプレートに関連付けることで実行されます。テンプレートは、結果ツリーの一部を作成するためにインスタンス化されます。
実装
このPL/SQL XSL Processorのデフォルト動作は、次のとおりです。
DOMプログラム・インタフェースからアクセス可能な結果ツリーが作成されます。
エラー・ログが指定されていない場合、エラーは記録されません。ただし、解析に失敗すると、アプリケーション・エラーが発生します。
表165-1 DBMS_XSLPROCESSORパッケージのサブプログラム
メソッド | 説明 |
---|---|
|
|
|
プロセッサ・オブジェクトを解放します。 |
|
スタイルシート・オブジェクトを解放します。 |
|
新規のプロセッサ・インスタンスを戻します。 |
|
入力と参照URLから新規のスタイルシートを作成します。 |
|
入力されたXML文書を変換します。 |
|
ファイルの内容を |
|
トップレベルのスタイルシート・パラメータを削除します。 |
|
トップレベルのスタイルシート・パラメータをリセットします。 |
|
パターンと一致するDOMツリーからノードを選択します。 |
|
パターンと一致するツリーから最初のノードを選択します。 |
|
指定したファイルに送信するエラーを設定します。 |
|
スタイルシートにトップレベルのパラメータを設定します。 |
|
警告をオンまたはオフにします。 |
|
スタイルシートを使用してDOMツリー内のノードを変換します。 |
|
パターンと一致する最初のノードの値を取得します。 |
このプロシージャは、CLOB
の内容をファイルに書き込みます。
構文
DBMS_XSLPROCESSOR.CLOB2FILE( cl IN CLOB; flocation IN VARCHAR2, fname IN VARCHAR2, csid IN NUMBER:=0);
パラメータ
表165-2 CLOB2FILEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ファイルのディレクトリ。 |
|
ファイルのディレクトリ。 |
|
ファイル名。 |
|
ファイルのキャラクタ・セットID。
|
このプロシージャは、プロセッサ・オブジェクトを解放します。
構文
DBMS_XSLPROCESSOR.FREEPROCESSOR( p IN Processor);
パラメータ
このプロシージャは、スタイルシート・オブジェクトを解放します。
構文
DBMS_XSLPROCESSOR.FREESTYLESHEET( ss IN Stylesheet);
パラメータ
このファンクションは、新規のプロセッサ・インスタンスを戻します。このファンクションは、他のプロセッサ・メソッドを使用する必要がある場合、プロセッサのデフォルト動作の変更前にコールする必要があります。
構文
DBMS_XSLPROCESSOR.NEWPROCESSOR RETURN Processor;
このファンクションは、新規のスタイルシート・インスタンスを作成して戻します。指定できるオプションは、次の表のとおりです。
構文
指定のDOMDOCUMENT
と参照URLを使用して、新規のスタイルシート・インスタンスを作成して戻します。
DBMS_XSLPROCESSOR.NEWSTYLESHEET( xmldoc IN DOMDOCUMENT, ref IN VARCHAR2) RETURN Stylesheet;
指定の入力と参照URLを使用して、新規のスタイルシート・インスタンスを作成して戻します。
DBMS_XSLPROCESSOR.NEWSTYLESHEET( inp IN VARCHAR2, ref IN VARCHAR2) RETURN Stylesheet;
パラメータ
このファンクションは、入力されたXMLDocument
を変換します。プロセッサのデフォルト動作に対する変更は、このプロシージャのコール前に有効にしておく必要があります。処理に失敗すると、アプリケーション・エラーが発生します。
構文
指定のDOMDocument
とスタイルシートを使用して、入力されたXMLDocument
を変換し、結果のドキュメント・フラグメントを戻します。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldoc IN DOMDOCUMENT), RETURN DOMDOCUMENTFRAGMENT;
指定のドキュメントをURLおよびスタイルシートとして使用して、入力されたXMLDocument
を変換し、結果のドキュメント・フラグメントを戻します。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, url IN VARCHAR2, RETURN DOMDOCUMENTFRAGMENT;
指定のドキュメントをCLOB
およびスタイルシートとして使用して、入力されたXMLDocument
を変換し、結果のドキュメント・フラグメントを戻します。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, clb IN CLOB) RETURN DOMDOCUMENTFRAGMENT;
指定のDOMDOCUMENT
とスタイルシートを使用して、入力されたXMLDocument
を変換し、指定のファイルに出力を書き込みます。
DBMS_XSLPROCESSOR.DBMS_XSLPROCESSOR.( p IN Processor, ss IN Stylesheet, xmldoc IN DOMDOCUMENT, dir IN VARCHAR2, fileName IN VARCHAR2);
指定のURLとスタイルシートを使用して、入力されたXMLDocument
を変換し、指定のディレクトリ内の指定したファイルに出力を書き込みます。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, url IN VARCHAR2, dir IN VARCHAR2, fileName IN VARCHAR2);
指定のDOMDOCUMENT
とスタイルシートを使用して、入力されたXMLDocument
を変換し、CLOB
に出力を書き込みます。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldoc IN DOMDOCUMENT, cl IN OUT CLOB);
指定のDOMDOCUMENTFRAGMENT
とスタイルシートを使用して、入力されたXMLDocument
を変換し、結果のドキュメント・フラグメントを戻します。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldf IN DOMDOCUMENTFRAGMENT) RETURN DOMDOCUMENTFRAGMENT;
指定のDOMDocumentFragment
とスタイルシートを使用して、入力されたXMLDocumentFragment
を変換し、指定のディレクトリ内の指定したファイルに出力を書き込みます。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldf IN DOMDOCUMENTFRAGMENT, dir IN VARCHAR2, filename IN VARCHAR2);
指定のDOMDOCUMENTFRAGMENT
とスタイルシートを使用して、入力されたXMLDocumentFragment
を変換し、バッファに出力を書き込みます。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldf IN DOMDOCUMENTFRAGMENT, buf IN OUT VARCHAR2);
指定のDOMDOCUMENTFRAGMENT
とスタイルシートを使用して、入力されたXMLDocumentFragment
を変換し、CLOB
に出力を書き込みます。
DBMS_XSLPROCESSOR.PROCESSXSL( p IN Processor, ss IN Stylesheet, xmldf IN DOMDOCUMENTFRAGMENT, cl IN OUT CLOB);
パラメータ
表165-6 PROCESSXSLファンクション/プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
プロセッサ・インスタンス。 |
|
スタイルシート・インスタンス。 |
|
変換するXML文書。 |
|
変換する情報のURL。 |
|
変換する情報が含まれる |
|
処理対象の出力ファイルを保存するディレクトリ。 |
|
処理対象の出力ファイル。 |
|
処理対象の出力を保存する |
|
変換する |
このファンクションは、ファイルの内容をCLOB
に読み込みます。
構文
DBMS_XSLPROCESSOR.READ2CLOB( flocation IN VARCHAR2, fname IN VARCHAR2, csid IN NUMBER:=0) RETURN CLOB;
パラメータ
表165-7 READ2CLOBファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ファイルのディレクトリ。 |
|
ファイル名。 |
|
ファイルのキャラクタ・セットID。
|
このプロシージャは、トップレベルのスタイルシート・パラメータを削除します。
構文
DBMS_XSLPROCESSOR.REMOVEPARAM( ss IN Stylesheet, name IN VARCHAR2);
パラメータ
このプロシージャは、トップレベルのスタイルシート・パラメータをリセットします。
構文
DBMS_XSLPROCESSOR.RESETPARAMS( ss IN Stylesheet);
パラメータ
このファンクションは、入力されたパス式と一致するノードをDOMツリーから選択し、選択の結果を戻します。
構文
DBMS_XSLPROCESSOR.SELECTNODES( n IN DBMS_XMLDOM.DOMNODE, pattern IN VARCHAR2, namespace IN VARCHAR2 := NULL) RETURN DBMS_XMLDOM.DOMNODELIST;
パラメータ
表165-10 SELECTNODESファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ツリーのルート |
|
使用するパターン。 |
|
宣言されたネームスペース。 |
このファンクションは、入力されたパス式と一致するツリーから最初のノードを選択し、そのノードを戻します。
構文
DBMS_XSLPROCESSOR.SELECTSINGLENODE( n IN DBMS_XMLDOM.DOMNODE, pattern IN VARCHAR2, namespace IN VARCHAR2 := NULL) RETURN DBMS_XMLDOM.DOMNODE;
パラメータ
表165-11 SELECTSINGLENODEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ツリーのルート |
|
使用するパターン。 |
|
宣言されたネームスペース。 |
このプロシージャは、指定したファイルに送信するエラーを設定します。
注意: このサブプログラムは使用しないことをお薦めします。ここに含まれているのは下位互換性を保つという理由のみからです。 |
構文
DBMS_XSLPROCESSOR.SETERRORLOG( p IN Processor, fileName IN VARCHAR2);
パラメータ
このプロシージャは、スタイルシートにトップレベルのパラメータを設定します。パラメータ値は、有効なXPath
式であることが必要です。必ずリテラル文字列値を引用します。
構文
DBMS_XSLPROCESSOR.SETPARAM( ss IN Stylesheet, name IN VARCHAR2, value IN VARCHAR2);
パラメータ
このプロシージャは、警告をオン(TRUE
)またはオフ(FALSE
)にします。
構文
DBMS_XSLPROCESSOR.SHOWWARNINGS( p IN Processor, yes IN BOOLEAN);
パラメータ
表165-14 SHOWWARNINGSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
プロセッサ・インスタンス。 |
|
設定するモード。警告を表示する場合は |
このファンクションは、指定のスタイルシートを使用してDOMツリー内のノードを変換し、変換結果をDOMDocumentFragment
として戻します。
構文
DBMS_XSLPROCESSOR.TRANSFORMNODE( n IN DOMNODE, ss IN Stylesheet) RETURN DOMDocumentFragment;
パラメータ
このサブプログラムは、指定のパターンと一致するツリーから最初のノードの値を取得します。ファンクションまたはプロシージャのいずれかを使用できます。
構文
DBMS_XSLPROCESSOR.VALUEOF( n IN DBMS_XMLDOM.DOMNODE, pattern IN VARCHAR2, namespace IN VARCHAR2 := NULL) RETURN VARCHAR2;
DBMS_XSLPROCESSOR.VALUEOF( n IN DBMS_XMLDOM.DOMNODE, pattern IN VARCHAR2, val OUT VARCHAR2, namespace IN VARCHAR2 := NULL);
パラメータ