ADC Home > Reference Library > Reference > Darwin > Miscellaneous User Space API Reference

 


xpathInternals.h

Includes:

Introduction



Globals


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Discussion

NodeSet handling.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Discussion

Extending a context.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Discussion

Utilities to extend XPath.


XMLPUBFUN


 Macros which declare an exportable function */
#define XMLPUBFUN  ;  
Discussion

Really internal functions

#defines


CAST_TO_BOOLEAN


#define CAST_TO_BOOLEAN \ if ((
    ctxt->value != NULL) && (
    ctxt->value->type != XPATH_BOOLEAN)) \ xmlXPathBooleanFunction(
    ctxt, 1); 
Discussion

CAST_TO_BOOLEAN:

Macro to try to cast the value on the top of the XPath stack to a boolean.


CAST_TO_NUMBER


#define CAST_TO_NUMBER \ if ((
    ctxt->value != NULL) && (
    ctxt->value->type != XPATH_NUMBER)) \ xmlXPathNumberFunction(
    ctxt, 1); 
Discussion

CAST_TO_NUMBER:

Macro to try to cast the value on the top of the XPath stack to a number.


CAST_TO_STRING


#define CAST_TO_STRING \ if ((
    ctxt->value != NULL) && (
    ctxt->value->type != XPATH_STRING)) \ xmlXPathStringFunction(
    ctxt, 1); 
Discussion

CAST_TO_STRING:

Macro to try to cast the value on the top of the XPath stack to a string.


CHECK_ARITY


#define CHECK_ARITY(
    x) \ if (
    ctxt == NULL) return; \ if (
    nargs != (
    x)) \ {
    xmlXPathErr(
    ctxt, XPATH_INVALID_ARITY); return; }; 
Discussion

CHECK_ARITY: @x: the number of expected args

Macro to check that the number of args passed to an XPath function matches.


CHECK_ERROR


#define CHECK_ERROR \ if (
    ctxt->error != XPATH_EXPRESSION_OK) return 
Discussion

CHECK_ERROR:

Macro to return from the function if an XPath error was detected.


CHECK_ERROR0


#define CHECK_ERROR0 \ if (
    ctxt->error != XPATH_EXPRESSION_OK) return(
    0) 
Discussion

CHECK_ERROR0:

Macro to return 0 from the function if an XPath error was detected.


CHECK_TYPE


#define CHECK_TYPE(
    typeval) \ if ((
    ctxt->value == NULL) || (
    ctxt->value->type != typeval)) \ {
    xmlXPathErr(
    ctxt, XPATH_INVALID_TYPE); return; 
} 
Discussion

CHECK_TYPE: @typeval: the XPath type

Macro to check that the value on top of the XPath stack is of a given type.


CHECK_TYPE0


#define CHECK_TYPE0(
    typeval) \ if ((
    ctxt->value == NULL) || (
    ctxt->value->type != typeval)) \ {
    xmlXPathErr(
    ctxt, XPATH_INVALID_TYPE); return(
    0); 
} 
Discussion

CHECK_TYPE0: @typeval: the XPath type

Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure


xmlXPathCheckError


#define xmlXPathCheckError(
    ctxt)  
Discussion

xmlXPathCheckError: @ctxt: an XPath parser context

Check if an XPath error was raised.

Returns true if an error has been raised, false otherwise.


xmlXPathEmptyNodeSet


#define xmlXPathEmptyNodeSet(
    ns) \ {
    while ((
    ns)->nodeNr > 0) (
    ns)->nodeTab[(
    ns)->nodeNr--] = NULL; 
} 
Discussion

xmlXPathEmptyNodeSet: @ns: a node-set

Empties a node-set.


xmlXPathGetContextNode


#define xmlXPathGetContextNode(
    ctxt)  
Discussion

xmlXPathGetContextNode: @ctxt: an XPath parser context

Get the context node of an XPath context.

Returns the context node.


xmlXPathGetDocument


#define xmlXPathGetDocument(
    ctxt)  
Discussion

xmlXPathGetDocument: @ctxt: an XPath parser context

Get the document of an XPath context.

Returns the context document.


xmlXPathGetError


#define xmlXPathGetError(
    ctxt)  
Discussion

xmlXPathGetError: @ctxt: an XPath parser context

Get the error code of an XPath context.

Returns the context error.


xmlXPathReturnBoolean


#define xmlXPathReturnBoolean(
    ctxt, val) \ valuePush((
    ctxt), xmlXPathNewBoolean(
    val)) 
Discussion

xmlXPathReturnBoolean: @ctxt: an XPath parser context @val: a boolean

Pushes the boolean @val on the context stack.


xmlXPathReturnEmptyNodeSet


#define xmlXPathReturnEmptyNodeSet(
    ctxt) \ valuePush((
    ctxt), xmlXPathNewNodeSet(
    NULL)) 
Discussion

xmlXPathReturnEmptyNodeSet: @ctxt: an XPath parser context

Pushes an empty node-set on the context stack.


xmlXPathReturnEmptyString


#define xmlXPathReturnEmptyString(
    ctxt) \ valuePush((
    ctxt), xmlXPathNewCString(
    "")) 
Discussion

xmlXPathReturnEmptyString: @ctxt: an XPath parser context

Pushes an empty string on the stack.


xmlXPathReturnExternal


#define xmlXPathReturnExternal(
    ctxt, val) \ valuePush((
    ctxt), xmlXPathWrapExternal(
    val)) 
Discussion

xmlXPathReturnExternal: @ctxt: an XPath parser context @val: user data

Pushes user data on the context stack.


xmlXPathReturnFalse


#define xmlXPathReturnFalse(
    ctxt) valuePush(((
    ctxt)), xmlXPathNewBoolean(
    0)) 
Discussion

xmlXPathReturnFalse: @ctxt: an XPath parser context

Pushes false on the context stack.


xmlXPathReturnNodeSet


#define xmlXPathReturnNodeSet(
    ctxt, ns) \ valuePush((
    ctxt), xmlXPathWrapNodeSet(
    ns)) 
Discussion

xmlXPathReturnNodeSet: @ctxt: an XPath parser context @ns: a node-set

Pushes the node-set @ns on the context stack.


xmlXPathReturnNumber


#define xmlXPathReturnNumber(
    ctxt, val) \ valuePush((
    ctxt), xmlXPathNewFloat(
    val)) 
Discussion

xmlXPathReturnNumber: @ctxt: an XPath parser context @val: a double

Pushes the double @val on the context stack.


xmlXPathReturnString


#define xmlXPathReturnString(
    ctxt, str) \ valuePush((
    ctxt), xmlXPathWrapString(
    str)) 
Discussion

xmlXPathReturnString: @ctxt: an XPath parser context @str: a string

Pushes the string @str on the context stack.


xmlXPathReturnTrue


#define xmlXPathReturnTrue(
    ctxt) valuePush(((
    ctxt)), xmlXPathNewBoolean(
    1)) 
Discussion

xmlXPathReturnTrue: @ctxt: an XPath parser context

Pushes true on the context stack.


xmlXPathSetArityError


#define xmlXPathSetArityError(
    ctxt) \ {
    xmlXPatherror(((
    ctxt)), __FILE__, __LINE__, (
    XPATH_INVALID_ARITY)); \ if (((
    ctxt)) != NULL) ((
    ctxt))->error = (
    XPATH_INVALID_ARITY); 
} 
Discussion

xmlXPathSetArityError: @ctxt: an XPath parser context

Raises an XPATH_INVALID_ARITY error.


xmlXPathSetError


#define xmlXPathSetError(
    ctxt, err) \ {
    xmlXPatherror((
    ctxt), __FILE__, __LINE__, (
    err)); \ if ((
    ctxt) != NULL) (
    ctxt)->error = (
    err); 
} 
Discussion

xmlXPathSetError: @ctxt: an XPath parser context @err: an xmlXPathError code

Raises an error.


xmlXPathSetTypeError


#define xmlXPathSetTypeError(
    ctxt) \ {
    xmlXPatherror(((
    ctxt)), __FILE__, __LINE__, (
    XPATH_INVALID_TYPE)); \ if (((
    ctxt)) != NULL) ((
    ctxt))->error = (
    XPATH_INVALID_TYPE); 
} 
Discussion

xmlXPathSetTypeError: @ctxt: an XPath parser context

Raises an XPATH_INVALID_TYPE error.


xmlXPathStackIsExternal


#define xmlXPathStackIsExternal(
    ctxt) \ ((
    ctxt->value != NULL) && (
    ctxt->value->type == XPATH_USERS)) 
Discussion

xmlXPathStackIsExternal: @ctxt: an XPath parser context

Checks if the current value on the XPath stack is an external object.

Returns true if the current object on the stack is an external object.


xmlXPathStackIsNodeSet


#define xmlXPathStackIsNodeSet(
    ctxt) \ (((
    ctxt)->value != NULL) \ && (((
    ctxt)->value->type == XPATH_NODESET) \ || ((
    ctxt)->value->type == XPATH_XSLT_TREE))) 
Discussion

xmlXPathStackIsNodeSet: @ctxt: an XPath parser context

Check if the current value on the XPath stack is a node set or an XSLT value tree.

Returns true if the current object on the stack is a node-set.


XP_ERROR


#define XP_ERROR(
    X) \ {
    xmlXPathErr(
    ctxt, X); return; 
} 
Discussion

XP_ERROR: @X: the error code

Macro to raise an XPath error and return.


XP_ERROR0


#define XP_ERROR0(
    X) \ {
    xmlXPathErr(
    ctxt, X); return(
    0); 
} 
Discussion

XP_ERROR0: @X: the error code

Macro to raise an XPath error and return 0.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.
Last Updated: 2006-06-20