mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-12 09:17:37 +03:00
20c60886e4
Resolves #133.
676 lines
30 KiB
Plaintext
676 lines
30 KiB
Plaintext
* Summary: XML Path Language implementation
|
|
* Description: API for the XML Path Language implementation
|
|
*
|
|
* XML Path Language implementation
|
|
* XPath is a language for addressing parts of an XML document,
|
|
* designed to be used by both XSLT and XPointer
|
|
* http://www.w3.org/TR/xpath
|
|
*
|
|
* Implements
|
|
* W3C Recommendation 16 November 1999
|
|
* http://www.w3.org/TR/1999/REC-xpath-19991116
|
|
*
|
|
* Copy: See Copyright for the status of this software.
|
|
*
|
|
* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
|
|
|
|
/if not defined(XML_XPATH_H__)
|
|
/define XML_XPATH_H__
|
|
|
|
/include "libxmlrpg/xmlversion"
|
|
|
|
/if defined(LIBXML_XPATH_ENABLED)
|
|
|
|
/include "libxmlrpg/xmlTypesC"
|
|
/include "libxmlrpg/xmlerror"
|
|
/include "libxmlrpg/tree"
|
|
/include "libxmlrpg/hash"
|
|
/endif LIBXML_XPATH_ENABLED
|
|
|
|
/if defined(LIBXML_XPATH_ENABLED)
|
|
|
|
d xmlXPathContextPtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathParserContextPtr...
|
|
d s * based(######typedef######)
|
|
|
|
* The set of XPath error codes.
|
|
|
|
d xmlXPathError s based(######typedef######)
|
|
d like(xmlCenum)
|
|
d XPATH_EXPRESSION_OK...
|
|
d c 0
|
|
d XPATH_NUMBER_ERROR...
|
|
d c 1
|
|
d XPATH_UNFINISHED_LITERAL_ERROR...
|
|
d c 2
|
|
d XPATH_START_LITERAL_ERROR...
|
|
d c 3
|
|
d XPATH_VARIABLE_REF_ERROR...
|
|
d c 4
|
|
d XPATH_UNDEF_VARIABLE_ERROR...
|
|
d c 5
|
|
d XPATH_INVALID_PREDICATE_ERROR...
|
|
d c 6
|
|
d XPATH_EXPR_ERROR...
|
|
d c 7
|
|
d XPATH_UNCLOSED_ERROR...
|
|
d c 8
|
|
d XPATH_UNKNOWN_FUNC_ERROR...
|
|
d c 9
|
|
d XPATH_INVALID_OPERAND...
|
|
d c 10
|
|
d XPATH_INVALID_TYPE...
|
|
d c 11
|
|
d XPATH_INVALID_ARITY...
|
|
d c 12
|
|
d XPATH_INVALID_CTXT_SIZE...
|
|
d c 13
|
|
d XPATH_INVALID_CTXT_POSITION...
|
|
d c 14
|
|
d XPATH_MEMORY_ERROR...
|
|
d c 15
|
|
d XPTR_SYNTAX_ERROR...
|
|
d c 16
|
|
d XPTR_RESOURCE_ERROR...
|
|
d c 17
|
|
d XPTR_SUB_RESOURCE_ERROR...
|
|
d c 18
|
|
d XPATH_UNDEF_PREFIX_ERROR...
|
|
d c 19
|
|
d XPATH_ENCODING_ERROR...
|
|
d c 20
|
|
d XPATH_INVALID_CHAR_ERROR...
|
|
d c 21
|
|
d XPATH_INVALID_CTXT...
|
|
d c 22
|
|
d XPATH_STACK_ERROR...
|
|
d c 23
|
|
d XPATH_FORBID_VARIABLE_ERROR...
|
|
d c 24
|
|
|
|
* A node-set (an unordered collection of nodes without duplicates).
|
|
|
|
d xmlNodeSetPtr s * based(######typedef######)
|
|
|
|
d xmlNodeSet ds based(xmlNodeSetPtr)
|
|
d align qualified
|
|
d nodeNr like(xmlCint) Set node count
|
|
d nodeMax like(xmlCint) Max # nodes in set
|
|
d nodeTab * xmlNodePtr *
|
|
|
|
* An expression is evaluated to yield an object, which
|
|
* has one of the following four basic types:
|
|
* - node-set
|
|
* - boolean
|
|
* - number
|
|
* - string
|
|
*
|
|
* @@ XPointer will add more types !
|
|
|
|
d xmlXPathObjectType...
|
|
d s based(######typedef######)
|
|
d like(xmlCenum)
|
|
d XPATH_UNDEFINED...
|
|
d c 0
|
|
d XPATH_NODESET c 1
|
|
d XPATH_BOOLEAN c 2
|
|
d XPATH_NUMBER c 3
|
|
d XPATH_STRING c 4
|
|
d XPATH_POINT c 5
|
|
d XPATH_RANGE c 6
|
|
d XPATH_LOCATIONSET...
|
|
d c 7
|
|
d XPATH_USERS c 8
|
|
d XPATH_XSLT_TREE... R/O XSLT value tree
|
|
d c 9
|
|
|
|
d xmlXPathObjectPtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathObject ds based(xmlXPathObjectPtr)
|
|
d align qualified
|
|
d type like(xmlXPathObjectType)
|
|
d nodesetval like(xmlNodeSetPtr)
|
|
d boolval like(xmlCint)
|
|
d floatval like(xmlCdouble)
|
|
d stringval * xmlChar *
|
|
d user * void *
|
|
d index like(xmlCint)
|
|
d user2 * void *
|
|
d index2 like(xmlCint)
|
|
|
|
* xmlXPathConvertFunc:
|
|
* @obj: an XPath object
|
|
* @type: the number of the target type
|
|
*
|
|
* A conversion function is associated to a type and used to cast
|
|
* the new type to primitive values.
|
|
*
|
|
* Returns -1 in case of error, 0 otherwise
|
|
|
|
d xmlXPathConvertFunc...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* Extra type: a name and a conversion function.
|
|
|
|
d xmlXPathTypePtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathType ds based(xmlXPathTypePtr)
|
|
d align qualified
|
|
d name * The type name
|
|
d func like(xmlXPathConvertFunc) Conversion function
|
|
|
|
* Extra variable: a name and a value.
|
|
|
|
d xmlXPathVariablePtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathVariable...
|
|
d ds based(xmlXPathVariablePtr)
|
|
d align qualified
|
|
d name * The variable name
|
|
d value like(xmlXPathObjectPtr) The value
|
|
|
|
* xmlXPathEvalFunc:
|
|
* @ctxt: an XPath parser context
|
|
* @nargs: the number of arguments passed to the function
|
|
*
|
|
* An XPath evaluation function, the parameters are on the XPath
|
|
* context stack.
|
|
|
|
d xmlXPathEvalFunc...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* Extra function: a name and an evaluation function.
|
|
|
|
d xmlXPathFuncPtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathFunct ds based(xmlXPathFuncPtr)
|
|
d align qualified
|
|
d name * The function name
|
|
d func like(xmlXPathEvalFunc) Evaluation function
|
|
|
|
* xmlXPathAxisFunc:
|
|
* @ctxt: the XPath interpreter context
|
|
* @cur: the previous node being explored on that axis
|
|
*
|
|
* An axis traversal function. To traverse an axis, the engine calls
|
|
* the first time with cur == NULL and repeat until the function returns
|
|
* NULL indicating the end of the axis traversal.
|
|
*
|
|
* Returns the next node in that axis or NULL if at the end of the axis.
|
|
|
|
d xmlXPathAxisFunc...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* Extra axis: a name and an axis function.
|
|
|
|
d xmlXPathAxisPtr...
|
|
d s * based(######typedef######)
|
|
|
|
d xmlXPathAxis ds based(xmlXPathAxisPtr)
|
|
d align qualified
|
|
d name * The axis name
|
|
d func like(xmlXPathAxisFunc) The search function
|
|
|
|
* xmlXPathFunction:
|
|
* @ctxt: the XPath interprestation context
|
|
* @nargs: the number of arguments
|
|
*
|
|
* An XPath function.
|
|
* The arguments (if any) are popped out from the context stack
|
|
* and the result is pushed on the stack.
|
|
|
|
d xmlXPathFunction...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* Function and Variable Lookup.
|
|
|
|
* xmlXPathVariableLookupFunc:
|
|
* @ctxt: an XPath context
|
|
* @name: name of the variable
|
|
* @ns_uri: the namespace name hosting this variable
|
|
*
|
|
* Prototype for callbacks used to plug variable lookup in the XPath
|
|
* engine.
|
|
*
|
|
* Returns the XPath object value or NULL if not found.
|
|
|
|
d xmlXPathVariableLookupFunc...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* xmlXPathFuncLookupFunc:
|
|
* @ctxt: an XPath context
|
|
* @name: name of the function
|
|
* @ns_uri: the namespace name hosting this function
|
|
*
|
|
* Prototype for callbacks used to plug function lookup in the XPath
|
|
* engine.
|
|
*
|
|
* Returns the XPath function or NULL if not found.
|
|
|
|
d xmlXPathFuncLookupFunc...
|
|
d s * based(######typedef######)
|
|
d procptr
|
|
|
|
* xmlXPathFlags:
|
|
* Flags for XPath engine compilation and runtime
|
|
|
|
* XML_XPATH_CHECKNS:
|
|
*
|
|
* check namespaces at compilation
|
|
|
|
d XML_XPATH_CHECKNS...
|
|
d c X'0001'
|
|
|
|
* XML_XPATH_NOVAR:
|
|
*
|
|
* forbid variables in expression
|
|
|
|
d XML_XPATH_NOVAR...
|
|
d c X'0002'
|
|
|
|
* xmlXPathContext:
|
|
*
|
|
* Expression evaluation occurs with respect to a context.
|
|
* he context consists of:
|
|
* - a node (the context node)
|
|
* - a node list (the context node list)
|
|
* - a set of variable bindings
|
|
* - a function library
|
|
* - the set of namespace declarations in scope for the expression
|
|
* Following the switch to hash tables, this need to be trimmed up at
|
|
* the next binary incompatible release.
|
|
* The node may be modified when the context is passed to libxml2
|
|
* for an XPath evaluation so you may need to initialize it again
|
|
* before the next call.
|
|
|
|
d xmlXPathContext...
|
|
d ds based(xmlXPathContextPtr)
|
|
d align qualified
|
|
d doc like(xmlDocPtr) Current document
|
|
d node like(xmlNodePtr) Current node
|
|
*
|
|
d nb_variables_unused... Unused (hash table)
|
|
d like(xmlCint)
|
|
d max_variables_unused... Unused (hash table)
|
|
d like(xmlCint)
|
|
d varHash like(xmlHashTablePtr) Defined variables
|
|
*
|
|
d nb_types like(xmlCint) # of defined types
|
|
d max_types like(xmlCint) Max number of types
|
|
d types like(xmlXPathTypePtr) Defined types array
|
|
*
|
|
d nb_funcs_unused... Unused (hash table)
|
|
d like(xmlCint)
|
|
d max_funcs_unused... Unused (hash table)
|
|
d like(xmlCint)
|
|
d funcHash like(xmlHashTablePtr) Defined functions
|
|
*
|
|
d nb_axis like(xmlCint) # of defined axis
|
|
d max_axis like(xmlCint) Max number of axis
|
|
d axis like(xmlXPathAxisPtr) Defined axis array
|
|
*
|
|
* the namespace nodes of the context node
|
|
*
|
|
d namespaces * xmlNsPtr *
|
|
d nsNr like(xmlCint) # scope namespaces
|
|
d user * procptr Function to free
|
|
*
|
|
* extra variables
|
|
*
|
|
d contextSize like(xmlCint) The context size
|
|
d proximityPosition...
|
|
d like(xmlCint)
|
|
*
|
|
* extra stuff for XPointer
|
|
*
|
|
d xptr like(xmlCint) XPointer context ?
|
|
d here like(xmlNodePtr) For here()
|
|
d origin like(xmlNodePtr) For origin()
|
|
*
|
|
* the set of namespace declarations in scope for the expression
|
|
*
|
|
d nsHash like(xmlHashTablePtr) Namespace hashtable
|
|
d varLookupFunc like(xmlXPathVariableLookupFunc) Var lookup function
|
|
d varLookupData * void *
|
|
*
|
|
* Possibility to link in an extra item
|
|
*
|
|
d extra * void *
|
|
*
|
|
* The function name and URI when calling a function
|
|
*
|
|
d function * const xmlChar *
|
|
d functionURI * const xmlChar *
|
|
*
|
|
* function lookup function and data
|
|
*
|
|
d funcLookupFunc... Func lookup func
|
|
d like(xmlXPathVariableLookupFunc)
|
|
d funcLookupData... void *
|
|
d *
|
|
*
|
|
* temporary namespace lists kept for walking the namespace axis
|
|
*
|
|
d tmpNsList * xmlNsPtr *
|
|
d tmpNsNr like(xmlCint) # scope namespaces
|
|
*
|
|
* error reporting mechanism
|
|
*
|
|
d userData * void *
|
|
d error like(xmlStructuredErrorFunc) Error callback
|
|
d lastError likeds(xmlError) The last error
|
|
d debugNode like(xmlNodePtr) XSLT source node
|
|
*
|
|
* dictionary
|
|
*
|
|
d dict like(xmlDictPtr) Dictionary if any
|
|
*
|
|
d flags like(xmlCint) Compilation control
|
|
*
|
|
* Cache for reusal of XPath objects
|
|
*
|
|
d cache * void *
|
|
|
|
* The structure of a compiled expression form is not public.
|
|
|
|
d xmlXPathCompExprPtr...
|
|
d s * based(######typedef######)
|
|
|
|
* xmlXPathParserContext:
|
|
*
|
|
* An XPath parser context. It contains pure parsing information,
|
|
* an xmlXPathContext, and the stack of objects.
|
|
|
|
d xmlXPathParserContext...
|
|
d ds based(xmlXPathParserContextPtr)
|
|
d align qualified
|
|
d cur * const xmlChar *
|
|
d base * const xmlChar *
|
|
*
|
|
d error like(xmlCint) Error code
|
|
*
|
|
d context like(xmlXPathContextPtr) Evaluation context
|
|
d value like(xmlXPathObjectPtr) The current value
|
|
d valueNr like(xmlCint) Value stack depth
|
|
d valueMax like(xmlCint) Max stack depth
|
|
d valueTab * xmlXPathObjectPtr *
|
|
*
|
|
d comp like(xmlXPathCompExprPtr) Precompiled expr.
|
|
d xptr like(xmlCint) XPointer expression?
|
|
d ancestor like(xmlNodePtr) To walk prec. axis
|
|
*
|
|
d valueFrame like(xmlCint) Limit stack pop
|
|
|
|
**************************************************************************
|
|
* *
|
|
* Public API *
|
|
* *
|
|
**************************************************************************
|
|
|
|
* Objects and Nodesets handling
|
|
|
|
d xmlXPathNAN s import('xmlXPathNAN')
|
|
d like(xmlCdouble)
|
|
|
|
d xmlXPathPINF s import('xmlXPathPINF')
|
|
d like(xmlCdouble)
|
|
|
|
d xmlXPathNINF s import('xmlXPathNINF')
|
|
d like(xmlCdouble)
|
|
|
|
d xmlXPathFreeObject...
|
|
d pr extproc('xmlXPathFreeObject')
|
|
d obj value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathNodeSetCreate...
|
|
d pr extproc('xmlXPathNodeSetCreate')
|
|
d like(xmlNodeSetPtr)
|
|
d val value like(xmlNodePtr)
|
|
|
|
d xmlXPathFreeNodeSetList...
|
|
d pr extproc('xmlXPathFreeNodeSetList')
|
|
d obj value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathFreeNodeSet...
|
|
d pr extproc('xmlXPathFreeNodeSet')
|
|
d obj value like(xmlNodeSetPtr)
|
|
|
|
d xmlXPathObjectCopy...
|
|
d pr extproc('xmlXPathObjectCopy')
|
|
d like(xmlXPathObjectPtr)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathCmpNodes...
|
|
d pr extproc('xmlXPathCmpNodes')
|
|
d like(xmlCint)
|
|
d node1 value like(xmlNodePtr)
|
|
d node2 value like(xmlNodePtr)
|
|
|
|
* Conversion functions to basic types.
|
|
|
|
d xmlXPathCastNumberToBoolean...
|
|
d pr extproc(
|
|
d 'xmlXPathCastNumberToBoolean')
|
|
d like(xmlCint)
|
|
d val value like(xmlCdouble)
|
|
|
|
d xmlXPathCastStringToBoolean...
|
|
d pr extproc(
|
|
d 'xmlXPathCastStringToBoolean')
|
|
d like(xmlCint)
|
|
d val * value options(*string) const xmlChar *
|
|
|
|
d xmlXPathCastNodeSetToBoolean...
|
|
d pr extproc(
|
|
d 'xmlXPathCastNodeSetToBoolean')
|
|
d like(xmlCint)
|
|
d ns value like(xmlNodeSetPtr)
|
|
|
|
d xmlXPathCastToBoolean...
|
|
d pr extproc('xmlXPathCastToBoolean')
|
|
d like(xmlCint)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathCastBooleanToNumber...
|
|
d pr extproc(
|
|
d 'xmlXPathCastBooleanToNumber')
|
|
d like(xmlCdouble)
|
|
d val value like(xmlCint)
|
|
|
|
d xmlXPathCastStringToNumber...
|
|
d pr extproc('xmlXPathCastStringToNumber')
|
|
d like(xmlCdouble)
|
|
d val * value options(*string) const xmlChar *
|
|
|
|
d xmlXPathCastNodeToNumber...
|
|
d pr extproc('xmlXPathCastNodeToNumber')
|
|
d like(xmlCdouble)
|
|
d node value like(xmlNodePtr)
|
|
|
|
d xmlXPathCastNodeSetToNumber...
|
|
d pr extproc(
|
|
d 'xmlXPathCastNodeSetToNumber')
|
|
d like(xmlCdouble)
|
|
d ns value like(xmlNodeSetPtr)
|
|
|
|
d xmlXPathCastToNumber...
|
|
d pr extproc('xmlXPathCastToNumber')
|
|
d like(xmlCdouble)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathCastBooleanToString...
|
|
d pr * extproc( xmlChar *
|
|
d 'xmlXPathCastBooleanToString')
|
|
d val value like(xmlCint)
|
|
|
|
d xmlXPathCastNumberToString...
|
|
d pr * extproc('xmlXPathCastNumberToString')xmlChar *
|
|
d val value like(xmlCdouble)
|
|
|
|
d xmlXPathCastNodeToString...
|
|
d pr * extproc('xmlXPathCastNodeToString') xmlChar *
|
|
d node value like(xmlNodePtr)
|
|
|
|
d xmlXPathCastNodeSetToString...
|
|
d pr * extproc('xmlXPathCastNodeSetToString'xmlChar *
|
|
d )
|
|
d ns value like(xmlNodeSetPtr)
|
|
|
|
d xmlXPathCastToString...
|
|
d pr * extproc('xmlXPathCastToString') xmlChar *
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathConvertBoolean...
|
|
d pr extproc('xmlXPathConvertBoolean')
|
|
d like(xmlXPathObjectPtr)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathConvertNumber...
|
|
d pr extproc('xmlXPathConvertNumber')
|
|
d like(xmlXPathObjectPtr)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
d xmlXPathConvertString...
|
|
d pr extproc('xmlXPathConvertString')
|
|
d like(xmlXPathObjectPtr)
|
|
d val value like(xmlXPathObjectPtr)
|
|
|
|
* Context handling.
|
|
|
|
d xmlXPathNewContext...
|
|
d pr extproc('xmlXPathNewContext')
|
|
d like(xmlXPathContextPtr)
|
|
d doc value like(xmlDocPtr)
|
|
|
|
d xmlXPathFreeContext...
|
|
d pr extproc('xmlXPathFreeContext')
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathContextSetCache...
|
|
d pr extproc('xmlXPathContextSetCache')
|
|
d like(xmlCint)
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
d active value like(xmlCint)
|
|
d value value like(xmlCint)
|
|
d options value like(xmlCint)
|
|
|
|
* Evaluation functions.
|
|
|
|
d xmlXPathOrderDocElems...
|
|
d pr extproc('xmlXPathOrderDocElems')
|
|
d like(xmlClong)
|
|
d doc value like(xmlDocPtr)
|
|
|
|
d xmlXPathSetContextNode...
|
|
d pr extproc('xmlXPathSetContextNode')
|
|
d like(xmlCint)
|
|
d node value like(xmlNodePtr)
|
|
d ctx value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathNodeEval...
|
|
d pr extproc('xmlXPathNodeEval')
|
|
d like(xmlXPathObjectPtr)
|
|
d node value like(xmlNodePtr)
|
|
d str * value options(*string) const xmlChar *
|
|
d ctx value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathEval pr extproc('xmlXPathEval')
|
|
d like(xmlXPathObjectPtr)
|
|
d str * value options(*string) const xmlChar *
|
|
d ctx value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathEvalExpression...
|
|
d pr extproc('xmlXPathEvalExpression')
|
|
d like(xmlXPathObjectPtr)
|
|
d str * value options(*string) const xmlChar *
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathEvalPredicate...
|
|
d pr extproc('xmlXPathEvalPredicate')
|
|
d like(xmlCint)
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
d res value like(xmlXPathObjectPtr)
|
|
|
|
* Separate compilation/evaluation entry points.
|
|
|
|
d xmlXPathCompile...
|
|
d pr extproc('xmlXPathCompile')
|
|
d like(xmlXPathCompExprPtr)
|
|
d str * value options(*string) const xmlChar *
|
|
|
|
d xmlXPathCtxtCompile...
|
|
d pr extproc('xmlXPathCtxtCompile')
|
|
d like(xmlXPathCompExprPtr)
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
d str * value options(*string) const xmlChar *
|
|
|
|
d xmlXPathCompiledEval...
|
|
d pr extproc('xmlXPathCompiledEval')
|
|
d like(xmlXPathObjectPtr)
|
|
d comp value like(xmlXPathCompExprPtr)
|
|
d ctx value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathCompiledEvalToBoolean...
|
|
d pr extproc(
|
|
d 'xmlXPathCompiledEvalToBoolean')
|
|
d like(xmlCint)
|
|
d comp value like(xmlXPathCompExprPtr)
|
|
d ctxt value like(xmlXPathContextPtr)
|
|
|
|
d xmlXPathFreeCompExpr...
|
|
d pr extproc('xmlXPathFreeCompExpr')
|
|
d comp value like(xmlXPathCompExprPtr)
|
|
/endif LIBXML_XPATH_ENABLED
|
|
|
|
/undefine XML_TESTVAL
|
|
/if defined(LIBXML_XPATH_ENABLED)
|
|
/define XML_TESTVAL
|
|
/elseif defined(LIBXML_SCHEMAS_ENABLED)
|
|
/define XML_TESTVAL
|
|
/endif
|
|
/if defined(XML_TESTVAL)
|
|
d xmlXPathInit pr extproc('xmlXPathInit')
|
|
|
|
d xmlXPathIsNaN pr extproc('xmlXPathIsNaN')
|
|
d like(xmlCint)
|
|
d val value like(xmlCdouble)
|
|
|
|
d xmlXPathIsInf pr extproc('xmlXPathIsInf')
|
|
d like(xmlCint)
|
|
d val value like(xmlCdouble)
|
|
|
|
/undefine XML_TESTVAL
|
|
/endif
|
|
|
|
* C macros implemented as procedures for ILE/RPG support.
|
|
|
|
/if defined(LIBXML_XPATH_ENABLED)
|
|
d xmlXPathNodeSetGetLength...
|
|
d pr extproc('__xmlXPathNodeSetGetLength')
|
|
d like(xmlCint)
|
|
d ns value like(xmlNodeSetPtr)
|
|
|
|
d xmlXPathNodeSetItem...
|
|
d pr extproc('__xmlXPathNodeSetItem')
|
|
d like(xmlNodePtr)
|
|
d ns value like(xmlNodeSetPtr)
|
|
d index value like(xmlCint)
|
|
|
|
d xmlXPathNodeSetIsEmpty...
|
|
d pr extproc('__xmlXPathNodeSetIsEmpty')
|
|
d like(xmlCint)
|
|
d ns value like(xmlNodeSetPtr)
|
|
/endif LIBXML_XPATH_ENABLED
|
|
/endif XML_XPATH_H__
|