8 C++用のXPath APIパッケージ
C++用のXPathパッケージには、XPathのデータ型、CompProcessorメソッド、Compilerメソッド、NodeSetメソッド、Processorメソッド、XPathExceptionメソッド、XPathObjectメソッドなど、XPathの処理に関連のある型およびインタフェースが含まれています。
XPathのデータ型
表8-1にXPathパッケージのデータ型の概要を示します。
表8-1 データ型の概要: XPathパッケージ
| データ型 | 説明 |
|---|---|
|
XPathコンパイラの識別子を定義します。 |
|
|
XPath 1.0に基づいた実装のオブジェクト型を定義します。 |
|
|
XPathに関連する例外コードです。 |
|
|
XPathプロセッサの識別子を定義します。 |
XPathCompIdType
XPathコンパイラの識別子を定義します。
定義
typedef enum XPathCompIdType {
XvmXPathCompCXml = 1
} XPathCompIdType;
XPathObjType
XPath 1.0に基づいた実装のオブジェクト型を定義します。
定義
typedef enum XPathObjType {
XPOBJ_TYPE_UNKNOWN = 0,
XPOBJ_TYPE_NDSET = 1,
XPOBJ_TYPE_BOOL = 2,
XPOBJ_TYPE_NUM = 3,
XPOBJ_TYPE_STR = 4
} XPathObjType;
XPathExceptionCode
XPathに関連する例外コードです。
定義
typedef enum XPathExceptionCode {
XPATH_UNDEFINED_ERR = 0,
XPATH_OTHER_ERR = 1
} XPathExceptionCode;
CompProcessorインタフェース
表8-2にCompProcessorインタフェースで使用できるメソッドの概要を示します。
表8-2 CompProcessorメソッドの概要: XPathパッケージ
| 関数 | 概要 |
|---|---|
|
プロセッサのIDを取得します。 |
|
|
指定したドキュメントに対してXPath式を評価します。 |
|
|
指定したドキュメントに対してコンパイルしたXPath式を評価します。 |
getProcessorId()
プロセッサのIDを取得します。
構文
virtual XPathPrIdType getProcessorId() const = 0;
戻り値
(XPathPrIdType)プロセッサのID
process()
プロセッサから継承されます。
構文
virtual XPathObject< Node>* process ( InputSource* isrc_ptr, oratext* xpath_exp) throw (XPathException) = 0;
| パラメータ | 説明 |
|---|---|
isrc_ptr |
処理するインスタンス・ドキュメント |
xpath_exp |
XPATH式 |
戻り値
(XpathGenObject*) XPathオブジェクト
Compilerインタフェース
表8-3にCompilerインタフェースで使用できるメソッドの概要を示します。
表8-3 Compilerメソッドの概要: XPathパッケージ
| 関数 | 概要 |
|---|---|
|
XPathをコンパイルし、コンパイルしたバイナリ表現を戻します。 |
|
|
コンパイラのIDを取得します。 |
compile()
XPathをコンパイルし、コンパイルしたバイナリ表現を戻します。
構文
virtual ub2* compile ( oratext* xpath_exp) throw (XPathException) = 0;
| パラメータ | 説明 |
|---|---|
xpath_exp |
XPATH式 |
戻り値
(ub2) コンパイルしたバイナリ表現のXPath式。
NodeSetインタフェース
表8-4にNodeSetインタフェースで使用できるメソッドの概要を示します。
getNode()
ノードへの参照を戻します。
構文
NodeRef< Node>* getNode( ub4 idx) const;
| パラメータ | 説明 |
|---|---|
idx |
セット内のノードのインデックス |
戻り値
(NodeRef) ノードへの参照。
Processorインタフェース
表8-5にProcessorインタフェースで使用できるメソッドの概要を示します。
表8-5 Processorメソッドの概要: XPathパッケージ
| 関数 | 概要 |
|---|---|
|
プロセッサのIDを取得します。 |
|
|
指定したドキュメントに対してXPath式を評価します。 |
getProcessorId()
プロセッサのIDを取得します。
構文
virtual XPathPrIdType getProcessorId() const = 0;
戻り値
(XPathPrIdType)プロセッサのID
XPathExceptionインタフェース
表8-6にXPathExceptionインタフェースで使用できるメソッドの概要を示します。
表8-6 XPathExceptionメソッドの概要: XPathパッケージ
| 関数 | 概要 |
|---|---|
|
例外に埋め込まれたOracle XMLエラー・コードを取得します。 |
|
|
エラー・メッセージの現在の言語(エンコーディング)を取得します。 |
|
|
Oracle XMLエラー・メッセージを取得します。 |
|
|
例外に埋め込まれたXPath例外のコードを取得します。 |
getCode()
XmlExceptionから継承された仮想メンバー関数です。
構文
virtual unsigned getCode() const = 0;
戻り値
(unsigned) 数値のエラー・コード(正常に終了した場合は0)。
getMesLang()
XmlExceptionから継承された仮想メンバー関数です。
構文
virtual oratext* getMesLang() const = 0;
戻り値
(oratext*) エラー・メッセージの現在の言語(エンコーディング)。
getMessage()
XmlExceptionから継承された仮想メンバー関数です。
構文
virtual oratext* getMessage() const = 0;
戻り値
(oratext *)エラー・メッセージ
XPathObjectインタフェース
表8-7にXPathObjectインタフェースで使用できるメソッドの概要を示します。
表8-7 XPathObjectメソッドの概要: XPathパッケージ
| 関数 | 概要 |
|---|---|
|
コピー・コンストラクタです。 |
|
|
ノード・セットを取得します。 |
|
|
オブジェクトからブール値を取得します。 |
|
|
オブジェクトから数値を取得します。 |
|
|
オブジェクトから文字列を取得します。 |
|
|
オブジェクトから型を取得します。 |
XPathObject()
コピー・コンストラクタです。
構文
XPathObject( XPathObject< Node>& src);
| パラメータ | 説明 |
|---|---|
src |
コピーするオブジェクトに対する参照 |
戻り値
(XPathObject)新しいオブジェクト