10 C++用のXsl APIパッケージ
C++用のXslパッケージには、XSL変換に関連のある型およびメソッドが含まれています。これには、Xslのデータ型、Compilerメソッド、CompTransformerメソッド、Transformerメソッド、XSLExceptionメソッドが含まれます。
Xslのデータ型
表10-1にXslパッケージのデータ型の概要を示します。
表10-1 データ型の概要: Xslパッケージ
| データ型 | 説明 |
|---|---|
|
XSLコンパイラの識別子を定義します。 |
|
|
XSLTに関連のある例外を定義します。 |
|
|
XSLトランスフォーマの識別子を定義します。 |
XslExceptionCode
XSLTに関連のある例外を定義します。
定義
typedef typedef enum XslExceptionCode {
XSL_UNDEFINED_ERR = 0,
XSL_OTHER_ERR = 1
} XslExceptionCode;
Compilerインタフェース
表10-2にCompilerインタフェースで使用できるメソッドの概要を示します。
表10-2 Compilerメソッドの概要: Xslパッケージ
| 関数 | 概要 |
|---|---|
|
Xslをコンパイルし、コンパイルしたバイナリ表現を戻します。 |
|
|
コンパイラのIDを取得します。 |
|
|
コンパイルしたXSL文書の長さを取得します。 |
compile()
Xslをコンパイルし、コンパイルしたバイナリ表現を戻します。
構文
virtual ub2* compile( InputSource* isrc_ptr) throw (XslException) = 0;
| パラメータ | 説明 |
|---|---|
isrc_ptr |
Xsl文書 |
戻り値
(InputSource) コンパイルしたバイナリ表現のXsl文書。
getCompilerId()
コンパイラのIDを取得します。
構文
virtual XslCompIdType getCompilerId() const = 0;
戻り値
(XslCompIdType)コンパイラのID
CompTransformerインタフェース
表10-3にCompTransformerインタフェースで使用できるメソッドの概要を示します。
表10-3 CompTransformerメソッドの概要: Xslパッケージ
| 関数 | 概要 |
|---|---|
|
トランスフォーマのIDを取得します。 |
|
|
コンパイルしたXslを設定します。 |
|
|
SAXハンドラを設定します。 |
|
|
このトランスフォーマにXSLT文書を設定します。 |
|
|
文書を変換します。 |
getTransformerId()
トランスフォーマのIDを取得します。
構文
virtual XslTrIdType getTransformerId() const = 0;
戻り値
(XslTrIdType)トランスフォーマのID
setBinXsl()
コンパイルしたXslを設定します。
構文
virtual void setBinXsl ( ub2* binxsl_ptr) throw (XslException) = 0;
| パラメータ | 説明 |
|---|---|
binxsl_ptr |
コンパイルしたXsl文書 |
setSAXHandler()
トランスフォーマから継承されます。
構文
virtual void setSAXHandler( SAXHandlerRoot* hdlr_ptr) = 0;
| パラメータ | 説明 |
|---|---|
hdlr_ptr |
SAXハンドラ・ポインタ |
setXSL()
このトランスフォーマにXSLT文書を設定します。transformメンバー関数がコールされる前にコールする必要があります。これは、Transformから継承されます。
構文
virtual void setXSL ( InputSource* isrc_ptr) throw (XslException) = 0;
| パラメータ | 説明 |
|---|---|
isrc_ptr |
処理するインスタンス・ドキュメント |
transform()
文書を変換します。setXSLコールによってあらかじめXSLT文書が設定されていない場合、例外をスローします。これは、Transformから継承されます。
| 構文 | 説明 |
|---|---|
virtual NodeRef< Node>* transform( nputSource* isrc_ptr) throw (XslException) = 0; |
ドキュメントを変換し、DOMを戻します。 |
virtual void transform( InputSource* isrc_ptr, SAXHandlerRoot* hdlr_ptr) throw (XslException) = 0; |
ドキュメントを変換し、SAXイベントを戻します。 |
| パラメータ | 説明 |
|---|---|
isrc_ptr |
処理するインスタンス・ドキュメント |
hdlr_ptr |
SAXハンドラ・ポインタ |
戻り値
(DocumentRef) 新しいドキュメントのドキュメント・ツリー。
Transformerインタフェース
表10-4にTransformerインタフェースで使用できるメソッドの概要を示します。
表10-4 Transformerメソッドの概要: Xslパッケージ
| 関数 | 概要 |
|---|---|
|
トランスフォーマのIDを取得します。 |
|
|
SAXハンドラを設定します。 |
|
|
このトランスフォーマにXSLT文書を設定します。 |
|
|
ドキュメントを変換し、SAXイベントを戻します。 |
getTransformerId()
トランスフォーマのIDを取得します。
構文
virtual XslTrIdType getTransformerId() const = 0;
戻り値
(XslTrIdType)トランスフォーマのID
setSAXHandler()
SAXハンドラを設定します。
構文
virtual void setSAXHandler( SAXHandlerRoot* hdlr_ptr) = 0;
| パラメータ | 説明 |
|---|---|
hdlr_ptr |
SAXハンドラ・ポインタ |
setXSL()
このトランスフォーマにXSLT文書を設定します。transformメンバー関数がコールされる前にコールする必要があります。
構文
virtual void setXSL ( InputSource* isrc_ptr) throw (XslException) = 0;
| パラメータ | 説明 |
|---|---|
isrc_ptr |
処理するインスタンス・ドキュメント |
transform()
文書を変換します。setXSLコールによってあらかじめXSLT文書が設定されていない場合、例外をスローします。
| 構文 | 説明 |
|---|---|
virtual NodeRef< Node>* transform( nputSource* isrc_ptr) throw (XslException) = 0; |
ドキュメントを変換し、DOMを戻します。 |
virtual void transform( InputSource* isrc_ptr, SAXHandlerRoot* hdlr_ptr) throw (XslException) = 0; |
ドキュメントを変換し、SAXイベントを戻します。 |
| パラメータ | 説明 |
|---|---|
isrc_ptr |
処理するインスタンス・ドキュメント |
hdlr_ptr |
SAXハンドラ・ポインタ |
戻り値
(DocumentRef) 新しいドキュメントのドキュメント・ツリー。
XSLExceptionインタフェース
表10-5にXSLExceptionインタフェースで使用できるメソッドの概要を示します。
表10-5 XSLExceptionメソッドの概要: Xslパッケージ
| 関数 | 概要 |
|---|---|
|
例外に埋め込まれたOracle XMLエラー・コードを取得します。 |
|
|
エラー・メッセージの現在の言語(エンコーディング)を取得します。 |
|
|
Oracle XMLエラー・メッセージを取得します。 |
|
|
実装するプロトタイプを定義します。 |
getCode()
例外に埋め込まれたOracle XMLエラー・コードを取得します。XmlExceptionから継承された仮想メンバー関数です。
構文
virtual unsigned getCode() const = 0;
戻り値
(unsigned) 数値のエラー・コード(正常に終了した場合は0)。
getMesLang()
XmlExceptionから継承された仮想メンバー関数です。
構文
virtual oratext* getMesLang() const = 0;
戻り値
(oratext*) エラー・メッセージの現在の言語(エンコーディング)。
getMessage()
XmlExceptionから継承された仮想メンバー関数です
構文
virtual oratext* getMessage() const = 0;
戻り値
(oratext *)エラー・メッセージ