../E10771-01.epub /> ../E10771-01.mobi />

8 Package XPath APIs for C++

XPath package contains XPath processing related types and interfaces.

This chapter contains the following sections:


XPath Datatypes

Table 8-1 summarizes the datatypes of the XPath package.

Table 8-1 Summary of Datatypes; XPath Package

Datatype Description

XPathCompIdType

Defines XPath compiler identifiers.

XPathObjType

Defines object types for XPath 1.0 based implementations.

XPathExceptionCode

XPath related exception codes.

XPathPrIdType

Defines XPath processor identifiers.



XPathCompIdType

Defines XPath compiler identifiers.

Definition

typedef enum XPathCompIdType {
   XvmXPathCompCXml = 1 
} XPathCompIdType;

XPathObjType

Defines object types for XPath 1.0 based implementations.

Definition

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 related exception codes.

Definition

typedef enum XPathExceptionCode {
   XPATH_UNDEFINED_ERR = 0,
   XPATH_OTHER_ERR = 1 
} XPathExceptionCode;

XPathPrIdType

Defines XPath processor identifiers.

Definition

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

CompProcessor Interface

Table 8-2 summarizes the methods available through the CompProcessor interface.

Table 8-2 Summary of CompProcessor Methods; XPath Package

Function Summary

getProcessorId()

Get processor's Id.

process()

Evaluate XPath expression against given document.

processWithBinXPath()

Evaluate compiled XPath expression against given document.



getProcessorId()

Get processor Id.

Syntax

virtual XPathPrIdType getProcessorId() const = 0;

Returns

(XPathPrIdType) Processor's Id


process()

Inherited from Processor.

Syntax

virtual XPathObject< Node>* process (
   InputSource* isrc_ptr,
   oratext* xpath_exp)
throw (XPathException) = 0;
Parameter Description
isrc_ptr
instance document to process
xpath_exp
XPATH expression

Returns

(XPathGenObject*) XPath object


processWithBinXPath()

Evaluates compiled XPath expression against given document.

Syntax

virtual XPathObject< Node>* processWithBinXPath (
   InputSource* isrc_ptr, 
   ub2* bin_xpath)
throw (XPathException) = 0;
Parameter Description
isrc_ptr
instance document to process
bin_xpath
compiled XPATH expression

Returns

(XPathGenObject*) XPath object


Compiler Interface

Table 8-3 summarizes the methods available through the Compiler interface.

Table 8-3 Summary of Compiler Methods; XPath Package

Function Summary

compile()

Compile XPath and return its compiled binary representation.

getCompilerId()

Get the compiler's Id



compile()

Compiles XPath and returns its compiled binary representation.

Syntax

virtual ub2* compile (
   oratext* xpath_exp)
throw (XPathException) = 0;
Parameter Description
xpath_exp
XPATH expression

Returns

(ub2) XPath expression in compiled binary representation


getCompilerId()

Get compiler's id.

Syntax

virtual XPathCompIdType getCompilerId() const = 0;

Returns

(XPathCompIdType) Compiler's Id


NodeSet Interface

Table 8-4 summarizes the methods available through the NodeSet interface.

Table 8-4 Summary of NodeSet Methods; XPath Package

Function Summary

getNode()

Get node given its index.

getSize()

Get NodeSet size.



getNode()

Returns a reference to the node.

Syntax

NodeRef< Node>* getNode(
   ub4 idx) const;
Parameter Description
idx
index of the node in the set

Returns

(NodeRef) reference to the node


getSize()

The size of the node set.

Syntax

ub4 getSize() const;

Returns

(ub4) node set size


Processor Interface

Table 8-5 summarizes the methods available through the Processor interface.

Table 8-5 Summary of Processor Methods; XPath Package

Function Summary

getProcessorId()

Get processor's Id.

process()

Evaluate XPath expression against given document.



getProcessorId()

Get processor Id.

Syntax

virtual XPathPrIdType getProcessorId() const = 0;

Returns

(XPathPrIdType) Processor's Id


process()

Evaluates XPath expression against given document and returns result XPath object.

Syntax

virtual XPathObject< Node>* process (
   InputSource* isrc_ptr,
   oratext* xpath_exp)
throw (XPathException) = 0;
Parameter Description
isrc_ptr
instance document to process
xpath_exp
XPath expression

Returns

(XPathGenObject*) XPath object


XPathException Interface

Table 8-6 summarizes the methods available through the XPathException interface.

Table 8-6 Summary of XPathException Methods; XPath Package

Function Summary

getCode()

Get Oracle XML error code embedded in the exception.

getMesLang()

Get current language (encoding) of error messages.

getMessage()

Get Oracle XML error message.

getXPathCode()

Get XPath exception code embedded in the exception.



getCode()

Virtual member function inherited from XmlException.

Syntax

virtual unsigned getCode() const = 0;

Returns

(unsigned) numeric error code (0 on success)


getMesLang()

Virtual member function inherited from XmlException.

Syntax

virtual oratext* getMesLang() const = 0;

Returns

(oratext*) Current language (encoding) of error messages


getMessage()

Virtual member function inherited from XmlException.

Syntax

virtual oratext* getMessage() const = 0;

Returns

(oratext *) Error message


getXPathCode()

This is a virtual member function that defines a prototype for implementation defined member functions returning XPath processor and compiler exception codes, defined in XPathExceptionCode, of the exceptional situations during execution.

Syntax

virtual XPathExceptionCode getXPathCode() const = 0;

Returns

(XPathExceptionCode) exception code


XPathObject Interface

Table 8-7 summarizes the methods available through the XPathObject interface.

Table 8-7 Summary of XPathObject Methods; XPath Package

Function Summary

XPathObject()

Copy constructor.

getNodeSet()

Get the node set.

getObjBoolean()

Get boolean from object.

getObjNumber()

Get number from object.

getObjString()

Get string from object.

getObjType()

Get type from object.



XPathObject()

Copy constructor.

Syntax

XPathObject( 
   XPathObject< Node>& src);
Parameter Description
src
reference to the object to be copied

Returns

(XPathObject) new object


getNodeSet()

Get the node set.

Syntax

NodeSet< Node>* getNodeSet() const;

getObjBoolean()

Get the boolean from the object.

Syntax

boolean getObjBoolean() const;

getObjNumber()

Get the number from the object.

Syntax

double getObjNumber() const;

getObjString()

Get the string from the object.

Syntax

oratext* getObjString() const;

getObjType()

Get the type from the object.

Syntax

XPathObjType getObjType() const;