13 XML C用のXPath APIパッケージ

XPathメソッドは、XPathに関連のある型およびインタフェースを処理します。

次の表にXML C APIのXPathパッケージで使用できるメソッドの概要を示します。

表13-1 XML C実装のXPathメソッドの概要

関数 概要

XmlXPathCreateCtx()

XPathコンテキストを作成します。

XmlXPathDestroyCtx()

XPathコンテキストを破棄します。

XmlXPathEval()

XPath式を評価します。

XmlXPathGetObjectBoolean()

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

XmlXPathGetObjectFragment()

XPathオブジェクトのフラグメント値を取得します。

XmlXPathGetObjectNSetNode()

ノードセット型XPathオブジェクトからノードを取得します。

XmlXPathGetObjectNSetNum()

ノードセット型XPathオブジェクトからノードの数を取得します。

XmlXPathGetObjectNumber()

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

XmlXPathGetObjectString()

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

XmlXPathGetObjectType()

XPathオブジェクトの型を取得します。

XmlXPathParse()

XPath式を解析します。

XmlXPathCreateCtx()

XPathコンテキストを作成します。

構文

xpctx* XmlXPathCreateCtx(
   xmlctx *xsl,
   oratext *baseuri,
   xmlnode *ctxnode, 
   ub4 ctxpos, 
   ub4 ctxsize);
パラメータ In/Out 説明
xsl
IN

xmldocオブジェクトとしてのXSLスタイルシート

baseuri
IN

ドキュメントで使用されているベースURI(存在する場合)

ctxnode
IN

現在のコンテキストの位置

ctxpos
IN

現在のコンテキストのサイズ

ctxsize
IN

現在のコンテキスト・ノード

戻り値

(xpctx *) XPathコンテキスト。エラー発生時にはNULLが戻されます。

XmlXPathDestroyCtx()

XPathコンテキストを破棄します。

構文

void XmlXPathDestroyCtx(
   xpctx *xslxpctx);
パラメータ In/Out 説明
xslxpctx
IN

XPathコンテキスト・オブジェクト

XmlXPathEval()

XPath式を評価します。

構文

xpobj *XmlXPathEval(
   xpctx *xctx, 
   xpexpr *exprtree, 
   xmlerr *err);
パラメータ In/Out 説明
xctx
IN

XPathコンテキスト

exprtree
IN

解析したXPath式ツリー

err
OUT

エラー・コード

戻り値

(xpobj *) 結果のXPathオブジェクト。エラー発生時にはNULLが戻されます。

XmlXPathGetObjectBoolean()

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

構文

boolean XmlXPathGetObjectBoolean(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathGetObjectFragment()

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

構文

xmlnode* XmlXPathGetObjectFragment(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathGetObjectNSetNode()

ノードセット型XPathオブジェクトからノードを取得します。

構文

xmlnode *XmlXPathGetObjectNSetNode(
   xpobj *obj,
   ub4 i);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

i
IN

ノードセットのノードのインデックス

戻り値

XmlXPathGetObjectNSetNum()

ノードセット型XPathオブジェクトからノードの数を取得します。

構文

ub4 XmlXPathGetObjectNSetNum(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathGetObjectNumber()

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

構文

double XmlXPathGetObjectNumber(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathGetObjectString()

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

構文

oratext *XmlXPathGetObjectString(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathGetObjectType()

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

構文

xmlxslobjtype XmlXPathGetObjectType(
   xpobj *obj);
パラメータ In/Out 説明
obj
IN

XPathオブジェクト

戻り値

XmlXPathParse()

XPath式を解析します。

構文

xpexpr* XmlXPathParse(
   xpctx *xctx,
   oratext *expr,
   xmlerr * err);
パラメータ In/Out 説明
xctx
IN

XPathコンテキスト・オブジェクト

expr
IN

XPath式

err
OUT

エラー・コード

戻り値

(xpexpr *) XPath式解析ツリー。エラー発生時にはNULLが戻されます。