ヘッダーをスキップ
Oracle® Database XML C++ APIリファレンス
11gリリース2 (11.2)
E94919-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

8 C++用のXPath APIパッケージ

XPathパッケージには、XPathの処理に関連のある型およびインタフェースが含まれています。

この章には、次の項が含まれます。


関連項目:

  • 『Oracle XML Developer's Kitプログラマーズ・ガイド』

  • 『Oracle XML DB開発者ガイド』



XPathのデータ型

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

表8-1 データ型の概要: XPathパッケージ

データ型 説明

XPathCompIdType


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

XPathObjType


XPath 1.0に基づいた実装のオブジェクト型を定義します。

XPathExceptionCode


XPathに関連する例外コードです。

XPathPrIdType


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;

XPathPrIdType

XPathプロセッサの識別子を定義します。

定義

typedef enum XPathPrIdType {      XPathPrCXml       = 1,      XvmPrCXml         = 2    } XPathPrIdType;

CompProcessorインタフェース

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

表8-2 CompProcessorメソッドの概要: XPathパッケージ

関数 概要

getProcessorId()


プロセッサのIDを取得します。

process()


指定したドキュメントに対してXPath式を評価します。

processWithBinXPath()


指定したドキュメントに対してコンパイルした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オブジェクト


processWithBinXPath()

指定したドキュメントに対してコンパイルしたXPath式を評価します。

構文

virtual XPathObject< Node>* processWithBinXPath (
   InputSource* isrc_ptr, 
   ub2* bin_xpath)
throw (XPathException) = 0;
パラメータ 説明
isrc_ptr
処理するインスタンス・ドキュメント
bin_xpath
コンパイルしたXPATH式

戻り値

(XpathGenObject*) XPathオブジェクト


Compilerインタフェース

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

表8-3 Compilerメソッドの概要: XPathパッケージ

関数 概要

compile()


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

getCompilerId()


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



compile()

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

構文

virtual ub2* compile (
   oratext* xpath_exp)
throw (XPathException) = 0;
パラメータ 説明
xpath_exp
XPATH式

戻り値

(ub2) コンパイルしたバイナリ表現のXPath式。


getCompilerId()

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

構文

virtual XPathCompIdType getCompilerId() const = 0;

戻り値

(XPathCompIdType) コンパイラのID


NodeSetインタフェース

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

表8-4 NodeSetメソッドの概要: XPathパッケージ

関数 概要

getNode()


インデックスを指定してノードを取得します。

getSize()


NodeSetのサイズを取得します。



getNode()

ノードへの参照を戻します。

構文

NodeRef< Node>* getNode(
   ub4 idx) const;
パラメータ 説明
idx
セット内のノードのインデックス

戻り値

(NodeRef) ノードへの参照。


getSize()

ノード・セットのサイズ。

構文

ub4 getSize() const;

戻り値

(ub4) ノード・セットのサイズ。


Processorインタフェース

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

表8-5 Processorメソッドの概要: XPathパッケージ

関数 概要

getProcessorId()


プロセッサのIDを取得します。

process()


指定したドキュメントに対してXPath式を評価します。



getProcessorId()

プロセッサIDを取得します。

構文

virtual XPathPrIdType getProcessorId() const = 0;

戻り値

(XPathPrIdType) プロセッサのID


process()

指定したドキュメントに対してXPath式を評価し、結果のXPathオブジェクトを戻します。

構文

virtual XPathObject< Node>* process (
   InputSource* isrc_ptr,
   oratext* xpath_exp)
throw (XPathException) = 0;
パラメータ 説明
isrc_ptr
処理するインスタンス・ドキュメント
xpath_exp
XPath式

戻り値

(XpathGenObject*) XPathオブジェクト


XPathExceptionインタフェース

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

表8-6 XPathExceptionメソッドの概要: XPathパッケージ

関数 概要

getCode()


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

getMesLang()


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

getMessage()


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

getXPathCode()


例外に埋め込まれた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 *) エラー・メッセージ


getXPathCode()

これは実行時の例外状況の、XPathExceptionCodeで定義されたXPathプロセッサおよびコンパイラの例外コードを戻す、実装によって定義されるメンバー関数のプロトタイプを定義する仮想メンバー関数です。

構文

virtual XPathExceptionCode getXPathCode() const = 0;

戻り値

(XPathExceptionCode) 例外コード


XPathObjectインタフェース

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

表8-7 XPathObjectメソッドの概要: XPathパッケージ

関数 概要

XPathObject()


コピー・コンストラクタです。

getNodeSet()


ノード・セットを取得します。

getObjBoolean()


オブジェクトからブール値を取得します。

getObjNumber()


オブジェクトから数値を取得します。

getObjString()


オブジェクトから文字列を取得します。

getObjType()


オブジェクトから型を取得します。



XPathObject()

コピー・コンストラクタです。

構文

XPathObject( 
   XPathObject< Node>& src);
パラメータ 説明
src
コピーするオブジェクトに対する参照

戻り値

(XPathObject) 新しいオブジェクト


getNodeSet()

ノード・セットを取得します。

構文

NodeSet< Node>* getNodeSet() const;

getObjBoolean()

オブジェクトからブール値を取得します。

構文

boolean getObjBoolean() const;

getObjNumber()

オブジェクトから数値を取得します。

構文

double getObjNumber() const;

getObjString()

オブジェクトから文字列を取得します。

構文

oratext* getObjString() const;

getObjType()

オブジェクトから型を取得します。

構文

XPathObjType getObjType() const;