XPath package contains XPath processing related types and interfaces.
This chapter contains the following sections:
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. |
Defines XPath compiler identifiers.
Definition
typedef enum XPathCompIdType {
XvmXPathCompCXml = 1
} XPathCompIdType;
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;
XPath related exception codes.
Definition
typedef enum XPathExceptionCode {
XPATH_UNDEFINED_ERR = 0,
XPATH_OTHER_ERR = 1
} XPathExceptionCode;
Defines XPath processor identifiers.
Definition
typedef enum XPathPrIdType { XPathPrCXml = 1, XvmPrCXml = 2 } XPathPrIdType;
Table 8-2 summarizes the methods of 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. |
Get processor Id.
Syntax
virtual XPathPrIdType getProcessorId() const = 0;
Returns
(XPathPrIdType) Processor's Id
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
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
Table 8-3 summarizes the methods of 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 |
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
Get compiler's id.
Syntax
virtual XPathCompIdType getCompilerId() const = 0;
Returns
(XPathCompIdType) Compiler's Id
Table 8-4 summarizes the methods of 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. |
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
The size of the node set.
Syntax
ub4 getSize() const;
Returns
(ub4) node set size
Table 8-5 summarizes the methods of 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. |
Get processor Id.
Syntax
virtual XPathPrIdType getProcessorId() const = 0;
Returns
(XPathPrIdType) Processor's Id
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
Table 8-6 summarizes the methods of 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. |
Virtual member function inherited from XmlException.
Syntax
virtual unsigned getCode() const = 0;
Returns
(unsigned) numeric error code (0 on success)
Virtual member function inherited from XmlException.
Syntax
virtual oratext* getMesLang() const = 0;
Returns
(oratext*) Current language (encoding) of error messages
Virtual member function inherited from XmlException.
Syntax
virtual oratext* getMessage() const = 0;
Returns
(oratext *) Error message
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
Table 8-7 summarizes the methods of 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. |
Copy constructor.
Syntax
XPathObject( XPathObject< Node>& src);
| Parameter | Description |
|---|---|
src |
reference to the object to be copied |
Returns
(XPathObject) new object
Get the node set.
Syntax
NodeSet< Node>* getNodeSet() const;
Get the boolean from the object.
Syntax
boolean getObjBoolean() const;
Get the number from the object.
Syntax
double getObjNumber() const;
Get the string from the object.
Syntax
oratext* getObjString() const;
Get the type from the object.
Syntax
XPathObjType getObjType() const;