summaryrefslogtreecommitdiff
path: root/os400/libxmlrpg/xpath.rpgle
diff options
context:
space:
mode:
Diffstat (limited to 'os400/libxmlrpg/xpath.rpgle')
-rw-r--r--os400/libxmlrpg/xpath.rpgle649
1 files changed, 0 insertions, 649 deletions
diff --git a/os400/libxmlrpg/xpath.rpgle b/os400/libxmlrpg/xpath.rpgle
deleted file mode 100644
index 3f3be32..0000000
--- a/os400/libxmlrpg/xpath.rpgle
+++ /dev/null
@@ -1,649 +0,0 @@
- * 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/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 10i 0 based(######typedef######) enum
- 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 10i 0 Set node count
- d nodeMax 10i 0 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 10i 0 based(######typedef######) enum
- 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 10i 0
- d floatval 8f
- d stringval * xmlChar *
- d user * void *
- d index 10i 0
- d user2 * void *
- d index2 10i 0
-
- * 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 10i 0
- d max_variables_unused... Unused (hash table)
- d 10i 0
- d varHash like(xmlHashTablePtr) Defined variables
- *
- d nb_types 10i 0 # of defined types
- d max_types 10i 0 Max number of types
- d types like(xmlXPathTypePtr) Defined types array
- *
- d nb_funcs_unused... Unused (hash table)
- d 10i 0
- d max_funcs_unused... Unused (hash table)
- d 10i 0
- d funcHash like(xmlHashTablePtr) Defined functions
- *
- d nb_axis 10i 0 # of defined axis
- d max_axis 10i 0 Max number of axis
- d axis like(xmlXPathAxisPtr) Defined axis array
- *
- * the namespace nodes of the context node
- *
- d namespaces * xmlNsPtr *
- d nsNr 10i 0 # scope namespaces
- d user * procptr Function to free
- *
- * extra variables
- *
- d contextSize 10i 0 The context size
- d proximityPosition...
- d 10i 0
- *
- * extra stuff for XPointer
- *
- d xptr 10i 0 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 10i 0 # scope namespaces
- *
- * error reporting mechanism
- *
- d userData * void *
- d error like(xmlStructuredErrorFunc) Error callback
- d lastError like(xmlError) The last error
- d debugNode like(xmlNodePtr) XSLT source node
- *
- * dictionary
- *
- d dict like(xmlDictPtr) Dictionary if any
- *
- d flags 10i 0 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 informations,
- * 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 10i 0 Error code
- *
- d context like(xmlXPathContextPtr) Evaluation context
- d value like(xmlXPathObjectPtr) The current value
- d valueNr 10i 0 Value stack depth
- d valueMax 10i 0 Max stack depth
- d valueTab * xmlXPathObjectPtr *
- *
- d comp like(xmlXPathCompExprPtr) Precompiled expr.
- d xptr 10i 0 XPointer expression?
- d ancestor like(xmlNodePtr) To walk prec. axis
- *
- d valueFrame 10i 0 Limit stack pop
-
- **************************************************************************
- * *
- * Public API *
- * *
- **************************************************************************
-
- * Objects and Nodesets handling
-
- d xmlXPathNAN s 8f import('xmlXPathNAN')
- d xmlXPathPINF s 8f import('xmlXPathPINF')
- d xmlXPathNINF s 8f import('xmlXPathNINF')
-
- 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 10i 0 extproc('xmlXPathCmpNodes')
- d node1 value like(xmlNodePtr)
- d node2 value like(xmlNodePtr)
-
- * Conversion functions to basic types.
-
- d xmlXPathCastNumberToBoolean...
- d pr 10i 0 extproc(
- d 'xmlXPathCastNumberToBoolean')
- d val 8f value
-
- d xmlXPathCastStringToBoolean...
- d pr 10i 0 extproc(
- d 'xmlXPathCastStringToBoolean')
- d val * value options(*string) const xmlChar *
-
- d xmlXPathCastNodeSetToBoolean...
- d pr 10i 0 extproc(
- d 'xmlXPathCastNodeSetToBoolean')
- d ns value like(xmlNodeSetPtr)
-
- d xmlXPathCastToBoolean...
- d pr 10i 0 extproc('xmlXPathCastToBoolean')
- d val value like(xmlXPathObjectPtr)
-
- d xmlXPathCastBooleanToNumber...
- d pr extproc(
- d 'xmlXPathCastBooleanToNumber')
- d 8f
- d val 10i 0 value
-
- d xmlXPathCastStringToNumber...
- d pr 8f extproc('xmlXPathCastStringToNumber')
- d val * value options(*string) const xmlChar *
-
- d xmlXPathCastNodeToNumber...
- d pr 8f extproc('xmlXPathCastNodeToNumber')
- d node value like(xmlNodePtr)
-
- d xmlXPathCastNodeSetToNumber...
- d pr 8f extproc(
- d 'xmlXPathCastNodeSetToNumber')
- d ns value like(xmlNodeSetPtr)
-
- d xmlXPathCastToNumber...
- d pr 8f extproc('xmlXPathCastToNumber')
- d val value like(xmlXPathObjectPtr)
-
- d xmlXPathCastBooleanToString...
- d pr * extproc( xmlChar *
- d 'xmlXPathCastBooleanToString')
- d val 10i 0 value
-
- d xmlXPathCastNumberToString...
- d pr * extproc('xmlXPathCastNumberToString')xmlChar *
- d val 8f value
-
- 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 10i 0 extproc('xmlXPathContextSetCache')
- d ctxt value like(xmlXPathContextPtr)
- d active 10i 0 value
- d value 10i 0 value
- d options 10i 0 value
-
- * Evaluation functions.
-
- d xmlXPathOrderDocElems...
- d pr 20i 0 extproc('xmlXPathOrderDocElems')
- d doc value like(xmlDocPtr)
-
- d xmlXPathSetContextNode...
- d pr 10i 0 extproc('xmlXPathSetContextNode')
- 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 10i 0 extproc('xmlXPathEvalPredicate')
- 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 10i 0 extproc(
- d 'xmlXPathCompiledEvalToBoolean')
- 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 10i 0 extproc('xmlXPathIsNaN')
- d val 8f value
-
- d xmlXPathIsInf pr 10i 0 extproc('xmlXPathIsInf')
- d val 8f value
-
- /undefine XML_TESTVAL
- /endif
-
- * C macros implemented as procedures for ILE/RPG support.
-
- /if defined(LIBXML_XPATH_ENABLED)
- d xmlXPathNodeSetGetLength...
- d pr 10i 0 extproc('__xmlXPathNodeSetGetLength')
- d ns value like(xmlNodeSetPtr)
-
- d xmlXPathNodeSetItem...
- d pr extproc('__xmlXPathNodeSetItem')
- d like(xmlNodePtr)
- d ns value like(xmlNodeSetPtr)
- d index 10i 0 value
-
- d xmlXPathNodeSetIsEmpty...
- d pr 10i 0 extproc('__xmlXPathNodeSetIsEmpty')
- d ns value like(xmlNodeSetPtr)
- /endif LIBXML_XPATH_ENABLED
- /endif XML_XPATH_H__