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)
新しいオブジェクト