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 *)
エラー・メッセージ