10 C++用のXsl APIパッケージ

C++用のXslパッケージには、XSL変換に関連のある型およびメソッドが含まれています。これには、Xslのデータ型、Compilerメソッド、CompTransformerメソッド、Transformerメソッド、XSLExceptionメソッドが含まれます。

Xslのデータ型

表10-1Xslパッケージのデータ型の概要を示します。

表10-1 データ型の概要: Xslパッケージ

データ型 説明

XslCompIdType

XSLコンパイラの識別子を定義します。

XslExceptionCode

XSLTに関連のある例外を定義します。

XslTrIdType

XSLトランスフォーマの識別子を定義します。

XslCompIdType

XSLコンパイラの識別子を定義します。

定義

typedef enum XslCompIdType {
   XvmCompCXml = 1
} XslCompIdType;

XslExceptionCode

XSLTに関連のある例外を定義します。

定義

typedef typedef enum XslExceptionCode {
   XSL_UNDEFINED_ERR = 0,
   XSL_OTHER_ERR = 1 
} XslExceptionCode;
 

XslTrIdType

XSLトランスフォーマの識別子を定義します。

定義

typedef enum XslTrIdType {
   XslTrCXml         = 1,
   XvmTrCXml         = 2
} XslTrIdType;

Compilerインタフェース

表10-2Compilerインタフェースで使用できるメソッドの概要を示します。

表10-2 Compilerメソッドの概要: Xslパッケージ

関数 概要

compile()

Xslをコンパイルし、コンパイルしたバイナリ表現を戻します。

getCompilerId()

コンパイラのIDを取得します。

getLength()

コンパイルした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

getLength()

コンパイルしたXSL文書の長さを戻します。

構文

virtual ub4 getLength( 
   ub2* binxsl_ptr)
throw (XslException) = 0;
パラメータ 説明
binxsl_ptr

コンパイルしたXsl文書

戻り値

(ub4) 文書の長さ。

CompTransformerインタフェース

表10-3CompTransformerインタフェースで使用できるメソッドの概要を示します。

表10-3 CompTransformerメソッドの概要: Xslパッケージ

関数 概要

getTransformerId()

トランスフォーマのIDを取得します。

setBinXsl()

コンパイルしたXslを設定します。

setSAXHandler()

SAXハンドラを設定します。

setXSL()

このトランスフォーマにXSLT文書を設定します。

transform()

文書を変換します。

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-4Transformerインタフェースで使用できるメソッドの概要を示します。

表10-4 Transformerメソッドの概要: Xslパッケージ

関数 概要

getTransformerId()

トランスフォーマのIDを取得します。

setSAXHandler()

SAXハンドラを設定します。

setXSL()

このトランスフォーマにXSLT文書を設定します。

transform()

ドキュメントを変換し、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-5XSLExceptionインタフェースで使用できるメソッドの概要を示します。

表10-5 XSLExceptionメソッドの概要: Xslパッケージ

関数 概要

getCode()

例外に埋め込まれたOracle XMLエラー・コードを取得します。

getMesLang()

エラー・メッセージの現在の言語(エンコーディング)を取得します。

getMessage()

Oracle XMLエラー・メッセージを取得します。

getXslCode()

実装するプロトタイプを定義します。

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

getXslCode()

これは、実行時の例外状況の、 XslExceptionCodeで定義されたXSLトランスフォーマおよびコンパイラの例外コードを戻す、実装で定義済のメンバー関数のプロトタイプを定義する仮想メンバー関数です。

構文

virtual XslExceptionCode getXslCode() const = 0;

戻り値

(XslExceptionCode)例外コード