Back to Turicreate

xpointer: API to handle XML Pointers

deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xpointer.html

6.4.113.4 KB
Original Source

| | | | libxml2 Reference Manual |

xpointer

xpointer - API to handle XML Pointers

API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000

Author(s): Daniel Veillard

Synopsis

typedef struct _xmlLocationSet[xmlLocationSet](#xmlLocationSet);
typedef[xmlLocationSet](libxml2-xpointer.html#xmlLocationSet)*[xmlLocationSetPtr](#xmlLocationSetPtr);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRange](#xmlXPtrNewRange)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
int startindex,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end,
int endindex);
void[xmlXPtrFreeLocationSet](#xmlXPtrFreeLocationSet)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)obj);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrWrapLocationSet](#xmlXPtrWrapLocationSet)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val);[xmlNodePtr](libxml2-tree.html#xmlNodePtr)[xmlXPtrBuildNodeList](#xmlXPtrBuildNodeList)([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)obj);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrEval](#xmlXPtrEval)(const[xmlChar](libxml2-xmlstring.html#xmlChar)* str,
[xmlXPathContextPtr](libxml2-xpath.html#xmlXPathContextPtr)ctx);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRangeNodes](#xmlXPtrNewRangeNodes)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end);
void[xmlXPtrLocationSetAdd](#xmlXPtrLocationSetAdd)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val);
void[xmlXPtrRangeToFunction](#xmlXPtrRangeToFunction)([xmlXPathParserContextPtr](libxml2-xpath.html#xmlXPathParserContextPtr)ctxt,
int nargs);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewCollapsedRange](#xmlXPtrNewCollapsedRange)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRangePoints](#xmlXPtrNewRangePoints)([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewLocationSetNodeSet](#xmlXPtrNewLocationSetNodeSet)([xmlNodeSetPtr](libxml2-xpath.html#xmlNodeSetPtr)set);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRangePointNode](#xmlXPtrNewRangePointNode)([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end);[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)[xmlXPtrLocationSetCreate](#xmlXPtrLocationSetCreate)([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRangeNodeObject](#xmlXPtrNewRangeNodeObject)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end);[xmlXPathContextPtr](libxml2-xpath.html#xmlXPathContextPtr)[xmlXPtrNewContext](#xmlXPtrNewContext)([xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)here,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)origin);
void[xmlXPtrLocationSetRemove](#xmlXPtrLocationSetRemove)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
int val);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewRangeNodePoint](#xmlXPtrNewRangeNodePoint)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end);
void[xmlXPtrLocationSetDel](#xmlXPtrLocationSetDel)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val);[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)[xmlXPtrLocationSetMerge](#xmlXPtrLocationSetMerge)([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val1,
[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val2);
void[xmlXPtrEvalRangePredicate](#xmlXPtrEvalRangePredicate)([xmlXPathParserContextPtr](libxml2-xpath.html#xmlXPathParserContextPtr)ctxt);[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)[xmlXPtrNewLocationSetNodes](#xmlXPtrNewLocationSetNodes)([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end);

Description

Details

Structure xmlLocationSet

struct _xmlLocationSet {
    int	locNr	: number of locations in the set
    int	locMax	: size of the array as allocated[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)*	locTab	: array of locations
} xmlLocationSet;

Typedef xmlLocationSetPtr

[xmlLocationSet](libxml2-xpointer.html#xmlLocationSet)* xmlLocationSetPtr;

xmlXPtrBuildNodeList ()

[xmlNodePtr](libxml2-tree.html#xmlNodePtr)xmlXPtrBuildNodeList	([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)obj)

Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.

| obj: | the XPointer result from the evaluation. | | Returns: | an xmlNodePtr list or NULL. the caller has to free the node tree. |


xmlXPtrEval ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrEval	(const[xmlChar](libxml2-xmlstring.html#xmlChar)* str,
[xmlXPathContextPtr](libxml2-xpath.html#xmlXPathContextPtr)ctx)

Evaluate the XPath Location Path in the given context.

| str: | the XPointer expression | | ctx: | the XPointer context | | Returns: | the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object. |


xmlXPtrEvalRangePredicate ()

void	xmlXPtrEvalRangePredicate	([xmlXPathParserContextPtr](libxml2-xpath.html#xmlXPathParserContextPtr)ctxt)

[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set

| ctxt: | the XPointer Parser context |


xmlXPtrFreeLocationSet ()

void	xmlXPtrFreeLocationSet ([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)obj)

Free the LocationSet compound (not the actual ranges !).

| obj: | the xmlLocationSetPtr to free |


xmlXPtrLocationSetAdd ()

void	xmlXPtrLocationSetAdd ([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val)

add a new xmlXPathObjectPtr to an existing LocationSet If the location already exist in the set @val is freed.

| cur: | the initial range set | | val: | a new xmlXPathObjectPtr |


xmlXPtrLocationSetCreate ()

[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)xmlXPtrLocationSetCreate	([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val)

Create a new xmlLocationSetPtr of type double and of value @val

| val: | an initial xmlXPathObjectPtr, or NULL | | Returns: | the newly created object. |


xmlXPtrLocationSetDel ()

void	xmlXPtrLocationSetDel ([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)val)

Removes an xmlXPathObjectPtr from an existing LocationSet

| cur: | the initial range set | | val: | an xmlXPathObjectPtr |


xmlXPtrLocationSetMerge ()

[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)xmlXPtrLocationSetMerge	([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val1,
[xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val2)

Merges two rangesets, all ranges from @val2 are added to @val1

| val1: | the first LocationSet | | val2: | the second LocationSet | | Returns: | val1 once extended or NULL in case of error. |


xmlXPtrLocationSetRemove ()

void	xmlXPtrLocationSetRemove	([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)cur,
int val)

Removes an entry from an existing LocationSet list.

| cur: | the initial range set | | val: | the index to remove |


xmlXPtrNewCollapsedRange ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewCollapsedRange	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start)

Create a new xmlXPathObjectPtr of type range using a single nodes

| start: | the starting and ending node | | Returns: | the newly created object. |


xmlXPtrNewContext ()

[xmlXPathContextPtr](libxml2-xpath.html#xmlXPathContextPtr)xmlXPtrNewContext	([xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)here,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)origin)

Create a new XPointer context

| doc: | the XML document | | here: | the node that directly contains the XPointer being evaluated or NULL | | origin: | the element from which a user or program initiated traversal of the link, or NULL. | | Returns: | the xmlXPathContext just allocated. |


xmlXPtrNewLocationSetNodeSet ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewLocationSetNodeSet	([xmlNodeSetPtr](libxml2-xpath.html#xmlNodeSetPtr)set)

Create a new xmlXPathObjectPtr of type LocationSet and initialize it with all the nodes from @set

| set: | a node set | | Returns: | the newly created object. |


xmlXPtrNewLocationSetNodes ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewLocationSetNodes	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end)

Create a new xmlXPathObjectPtr of type LocationSet and initialize it with the single range made of the two nodes @start and @end

| start: | the start NodePtr value | | end: | the end NodePtr value or NULL | | Returns: | the newly created object. |


xmlXPtrNewRange ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRange	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
int startindex,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end,
int endindex)

Create a new xmlXPathObjectPtr of type range

| start: | the starting node | | startindex: | the start index | | end: | the ending point | | endindex: | the ending index | | Returns: | the newly created object. |


xmlXPtrNewRangeNodeObject ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRangeNodeObject	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end)

Create a new xmlXPathObjectPtr of type range from a not to an object

| start: | the starting node | | end: | the ending object | | Returns: | the newly created object. |


xmlXPtrNewRangeNodePoint ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRangeNodePoint	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end)

Create a new xmlXPathObjectPtr of type range from a node to a point

| start: | the starting node | | end: | the ending point | | Returns: | the newly created object. |


xmlXPtrNewRangeNodes ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRangeNodes	([xmlNodePtr](libxml2-tree.html#xmlNodePtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end)

Create a new xmlXPathObjectPtr of type range using 2 nodes

| start: | the starting node | | end: | the ending node | | Returns: | the newly created object. |


xmlXPtrNewRangePointNode ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRangePointNode	([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)start,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)end)

Create a new xmlXPathObjectPtr of type range from a point to a node

| start: | the starting point | | end: | the ending node | | Returns: | the newly created object. |


xmlXPtrNewRangePoints ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrNewRangePoints	([xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)start,
[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)end)

Create a new xmlXPathObjectPtr of type range using 2 Points

| start: | the starting point | | end: | the ending point | | Returns: | the newly created object. |


xmlXPtrRangeToFunction ()

void	xmlXPtrRangeToFunction ([xmlXPathParserContextPtr](libxml2-xpath.html#xmlXPathParserContextPtr)ctxt,
int nargs)

Implement the range-to() XPointer function

| ctxt: | the XPointer Parser context | | nargs: | the number of args |


xmlXPtrWrapLocationSet ()

[xmlXPathObjectPtr](libxml2-xpath.html#xmlXPathObjectPtr)xmlXPtrWrapLocationSet	([xmlLocationSetPtr](libxml2-xpointer.html#xmlLocationSetPtr)val)

Wrap the LocationSet @val in a new xmlXPathObjectPtr

| val: | the LocationSet value | | Returns: | the newly created object. |