Package XPointer for XML C APIs
Package XPointer methods implement XML pointers for XML C APIs. They are grouped into three interface types:
XPointer Interface for XPointer XML C APIs
The following table summarizes the methods available through the XPointer interface of XPointer for XML C APIs.
Table 1 Summary of XPointer XPointer Methods for XML C Implementation
| Function | Summary |
|---|---|
| XmlXPointerEval() | Evaluates XPointer string. |
XmlXPointerEval()
Parses and evaluates xpointer string and calculates locations in the document.
Syntax
xmlxptrlocset* XmlXPointerEval(
xmldocnode* doc,
oratext* xptrstr);
| Parameter | In/Out | Description |
|---|---|---|
doc |
IN |
document node of the corresponding DOM tree |
xptrstr |
IN |
xpointer string |
Returns
(xmlxptrlocset *) calculated location set
XPtrLoc Interface for XPointer XML C APIs
The following table summarizes the methods available through the XPtrLoc interface of XPointer for XML C API.
Table 2 Summary of XPtrLoc XPointer Methods for XML C Implementation
| Function | Summary |
|---|---|
| XmlXPtrLocGetNode() | Returns Xml node from XPtrLoc. |
| XmlXPtrLocGetPoint() | Returns Xml point from XPtrLoc. |
| XmlXPtrLocGetRange() | Returns Xml range from XPtrLoc. |
| XmlXPtrLocGetType() | Returns type of XPtrLoc. |
| XmlXPtrLocToString() | Returns string for a location. |
XmlXPtrLocGetNode()
Returns node from location
Syntax
xmlnode* XmlXPtrLocGetNode(
xmlxptrloc* loc);
| Parameter | In/Out | Description |
|---|---|---|
loc |
IN |
location |
Returns
(xmlnode *) Node from location
XmlXPtrLocGetPoint()
Returns point from location
Syntax
xmlpoint* XmlXPtrLocGetPoint(
xmlxptrloc* loc);
| Parameter | In/Out | Description |
|---|---|---|
loc |
IN |
location |
Returns
(xmlpoint *) Point from location
XmlXPtrLocGetRange()
Returns range from location.
Syntax
xmlrange* XmlXPtrLocGetRange(
xmlxptrloc* loc);
| Parameter | In/Out | Description |
|---|---|---|
loc |
IN |
location |
Returns
(xmlrange *) Range from location
XmlXPtrLocGetType()
Returns type of location
Syntax
xmlxptrloctype XmlXPtrLocGetType(
xmlxptrloc* loc);
| Parameter | In/Out | Description |
|---|---|---|
loc |
IN |
location |
Returns
(xmlxptrloctype) Type of location
XmlXPtrLocToString()
Returns string for a location:
-
node name: name of the container node
-
names of container nodes: “not a location” otherwise
Syntax
oratext* XmlXPtrLocToString(
xmlxptrloc* loc);
| Parameter | In/Out | Description |
|---|---|---|
loc |
IN |
location |
Returns
(oratext *) string
XPtrLocSet Interface for XPointer XML C APIs
The following table summarizes the methods available through the XPtrLocSet interface of XPointer for XML C APIs.
Table 3 Summary of XPtrLocSet XPointer Methods for XML C Implementation
| Function | Summary |
|---|---|
| XmlXPtrLocSetFree() | Free a location set |
| XmlXPtrLocSetGetItem() | Returns location with idx position in XPtrLocSet |
| XmlXPtrLocSetGetLength() | Returns length of XPtrLocSet. |
XmlXPtrLocSetFree()
It is user’s responsibility to call this function on every location set returned by XPointer or XPtrLocSet interfaces
Syntax
void XmlXPtrLocSetFree(
xmlxptrlocset* locset);
| Parameter | In/Out | Description |
|---|---|---|
locset |
IN |
location set |
XmlXPtrLocSetGetItem()
Returns location with idx position in the location set. First position is 1.
Syntax
xmlxptrloc* XmlXPtrLocSetGetItem(
xmlxptrlocset* locset,
ub4 idx);
| Parameter | In/Out | Description |
|---|---|---|
locset |
IN |
location set |
idx |
IN |
location index |
Returns
(xmlxptrloc *) location with the position idx
XmlXPtrLocSetGetLength()
Returns the number of locations in the location set
Syntax
ub4 XmlXPtrLocSetGetLength(
xmlxptrlocset* locset);
| Parameter | In/Out | Description |
|---|---|---|
locset |
IN |
location set |
Returns
(ub4) number of nodes in locset