9 C++用のXPointer APIパッケージ

C++用のXPointerパッケージには、XPointerのデータ型、Processorメソッド、XppExceptionメソッド、XPPLocationメソッド、XppLocSetメソッドなど、XPointerの処理に関連のある型およびメソッドが含まれています。

XPointerのデータ型

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

表9-1 データ型の概要: XPointerパッケージ

データ型 説明

XppExceptionCode

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

XppPrIdType

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

XppLocType

XPointerの位置の型を定義します。

XppExceptionCode

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

定義

typedef enum XPathCompIdType {
   XvmXPathCompCXml = 1 
} XPathCompIdType;

XppPrIdType

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

定義

typedef enum XppPrIdType {   XPtrPrCXml         = 1} XppPrIdType;
 

XppLocType

XPointerの位置の型を定義します。

定義

typedef enum XppLocType {
      XPPLOC_TYPE_UNKNOWN = 0,
      XPPLOC_TYPE_NODE    = 1,
      XPPLOC_TYPE_POINT   = 2,
      XPPLOC_TYPE_RANGE   = 3,
      XPPLOC_TYPE_BOOL    = 4,
      XPPLOC_TYPE_NUM     = 5,
      XPPLOC_TYPE_STR     = 6
    } XppLocType;

Processorインタフェース

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

表9-2 Processorメソッドの概要: XPointerパッケージ

関数 概要

getProcessorId()

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

process()

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

getProcessorId()

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

構文

virtual XppPrIdType getProcessorId() const = 0;

戻り値

(XppPrIdType)プロセッサのID

process()

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

構文

virtual XppLocSet< Node>* process (
   InputSource* isrc_ptr,
   oratext* xpp_exp)
throw (XppException) = 0;

表9-3 processメソッドのパラメータの説明

パラメータ 説明
isrc_ptr

処理するインスタンス・ドキュメント

xpp_exp

XPointer式

戻り値

(XppLocSet*) XPathオブジェクト

XppExceptionインタフェース

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

表9-4 XppExceptionメソッドの概要: XPointerパッケージ

関数 概要

getCode()

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

getMesLang()

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

getMesLang()

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

getXppCode()

例外に埋め込まれたXPointerの例外コードを取得します。

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

getXppCode()

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

構文

virtual XppExceptionCode getXppCode() const = 0;

戻り値

(XppExceptionCode)例外コード

XppLocationインタフェース

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

表9-5 XppLocationメソッドの概要: XPointerパッケージ

関数 概要

getLocType()

位置の型を取得します。

getNode()

ノードを取得します。

getRange()

範囲を取得します。

getLocType()

位置の型を取得します。

構文

 XppLocType getLocType() const;

getNode()

ノードを取得します。

構文

 Node* getNode() const;

getRange()

範囲を取得します。

構文

 Range< Node>* getRange() const;

XppLocSetインタフェース

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

表9-6 XppLocSetメソッドの概要: XPointerパッケージ

関数 概要

getItem()

指定されたインデックスの項目を取得します。

getSize()

位置セットのサイズを取得します。

getItem()

項目への参照を戻します。

構文

XppLocation< Node>* getItem(
   ub4 index) const;

表9-7 getItemメソッドの概要: XPointerパッケージ

パラメータ 説明
index

項目のインデックス

戻り値

(XppLocation*) 項目に対する参照。

getSize()

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

構文

ub4 getSize() const;

戻り値

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