[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-cvs
Subject:    svn commit: r719528 - in /webservices/axis2/trunk/c/axiom: include/
From:       dumindu () apache ! org
Date:       2008-11-21 7:42:36
Message-ID: 20081121074237.463922388875 () eris ! apache ! org
[Download RAW message or body]

Author: dumindu
Date: Thu Nov 20 23:42:36 2008
New Revision: 719528

URL: http://svn.apache.org/viewvc?rev=719528&view=rev
Log:
1. s/xpath.h/axiom_xpath.h
2. removed win32 endlines from axiom_xpath.h (dos2unix)


Added:
    webservices/axis2/trunk/c/axiom/include/axiom_xpath.h
      - copied, changed from r719352, webservices/axis2/trunk/c/axiom/include/xpath.h
Removed:
    webservices/axis2/trunk/c/axiom/include/xpath.h
Modified:
    webservices/axis2/trunk/c/axiom/src/xpath/xpath.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.h
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_engine.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.h
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_parser.c
    webservices/axis2/trunk/c/axiom/src/xpath/xpath_streaming.c
    webservices/axis2/trunk/c/axiom/test/xpath/test_xpath.c

Copied: webservices/axis2/trunk/c/axiom/include/axiom_xpath.h (from r719352, \
                webservices/axis2/trunk/c/axiom/include/xpath.h)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_xpath. \
h?p2=webservices/axis2/trunk/c/axiom/include/axiom_xpath.h&p1=webservices/axis2/trunk/c/axiom/include/xpath.h&r1=719352&r2=719528&rev=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/include/xpath.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_xpath.h Thu Nov 20 23:42:36 2008
@@ -1,406 +1,406 @@
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef XPATH_H
-#define XPATH_H
-
-#include <axiom.h>
-#include <axis2_util.h>
-#include <axiom_soap.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    /**
-     * @defgroup axiom_xpath_api api
-     * @ingroup axiom_xpath
-     * @{
-     */
-
-
-    /**
-      * Enable tracing
-      */
-
-#define AXIOM_XPATH_DEBUG
-
-    /**
-      * An error occured while evaluating the xpath expression
-      */
-#define AXIOM_XPATH_EVALUATION_ERROR 0
-
-#define AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED 10
-
-    /* Typedefs */
-
-    /**
-      * XPath expression
-      * It includes the expression as a string and parsed data.
-      */
-    typedef struct axiom_xpath_expression axiom_xpath_expression_t;
-
-    /**
-      * The XPath context
-      * Keeps a reference to the context node or attribute,
-      * XPath expression, environment and result set.
-      */
-    typedef struct axiom_xpath_context axiom_xpath_context_t;
-
-    /**
-      * XPath result set
-      * Contains the result set and other information such as
-      * whether the expression was evaluated successfully.
-      */
-    typedef struct axiom_xpath_result axiom_xpath_result_t;
-
-    /**
-      * XPath result
-      * Stores type and value of the result.
-      */
-    typedef struct axiom_xpath_result_node axiom_xpath_result_node_t;
-
-    /**
-      * XPath result types
-      */
-    typedef enum axiom_xpath_result_type_t
-    {
-        AXIOM_XPATH_TYPE_NODE = 0,
-        AXIOM_XPATH_TYPE_ATTRIBUTE,
-        AXIOM_XPATH_TYPE_NAMESPACE,
-        AXIOM_XPATH_TYPE_TEXT,
-        AXIOM_XPATH_TYPE_NUMBER,
-        AXIOM_XPATH_TYPE_BOOLEAN
-    } axiom_xpath_result_type_t;
-
-    typedef int (*axiom_xpath_function_t)(axiom_xpath_context_t *context,
-            int np);
-
-    /**
-      * XPath expression
-      */
-    struct axiom_xpath_expression
-    {
-        /** XPath expression as a string */
-        axis2_char_t* expr_str;
-
-        /** Length of the expression */
-        int expr_len;
-
-        /** A cursor pointing to the position currently being parsed */
-        int expr_ptr;
-
-        /** Parsed expression in an array list*/
-        axutil_array_list_t *operations;
-
-        /** A pointer to the start operation in operations */
-        int start;
-    };
-
-    /**
-      * XPath context
-      */
-    struct axiom_xpath_context
-    {
-        /** Environment */
-        axutil_env_t *env;
-
-        /** List of namespaces */
-        axutil_hash_t *namespaces;
-
-        /** Set of functions */
-        axutil_hash_t *functions;
-
-        /** Root node */
-        axiom_node_t *root_node;
-
-        /** Context node */
-        axiom_node_t *node;
-
-        /** Context attribute */
-        axiom_attribute_t *attribute;
-
-        /** Context attribute */
-        axiom_namespace_t *ns;
-
-        /** Context position */
-        int position;
-
-        /** Context size
-          * *Does not work location paths due to optimizations */
-        int size;
-
-        /** XPath expression */
-        axiom_xpath_expression_t *expr;
-
-        /** Streaming */
-        axis2_bool_t streaming;
-
-        /** Stack of processed items */
-        axutil_stack_t *stack;
-
-        /* TODO:
-           functions
-           variables
-           etc */
-    };
-
-    /**
-      * XPath result set
-      */
-    struct axiom_xpath_result
-    {
-        /** A flag indicating whether errors occured while evaluting XPath
-          * expression */
-        int flag;
-
-        /** An array list containing the set of results */
-        axutil_array_list_t * nodes;
-    };
-
-    /**
-      * XPath result
-      */
-    struct axiom_xpath_result_node
-    {
-        /** Type of result */
-        axiom_xpath_result_type_t type;
-
-        /** Value */
-        void * value;
-    };
-
-    /**
-      * Compile an XPath expression
-      *
-      * @param env Environment must not be null
-      * @param xpath_expr A pointer to the XPath expression
-      * @return The parsed XPath expression. Returns NULL if an error occured
-      *         while parsing.
-      */
-    axiom_xpath_expression_t * AXIS2_CALL axiom_xpath_compile_expression(
-        const axutil_env_t *env,
-        const axis2_char_t* xpath_expr);
-
-    /**
-      * Create an empty XPath context
-      *
-      * @param env Environment must not be null
-      * @param root_node A pointer to the root of the tree
-      * @return The initialized XPath context.
-      */
-    axiom_xpath_context_t * AXIS2_CALL axiom_xpath_context_create(
-        axutil_env_t *env,
-        axiom_node_t * root_node);
-
-    /**
-      * Evaluate an parsed XPath expression. Different expressions could
-      * be evaluated on the same context, and same expression could be
-      * evaluated on multiple trees without recompiling.
-      *
-      * @param context XPath context must not be null
-      * @param xpath_expr XPath expression to be evaluated
-      * @return The set of results.
-      */
-    axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate(
-        axiom_xpath_context_t *context,
-        axiom_xpath_expression_t *xpath_expr);
-
-
-    /**
-      * Convert an XPath result to a boolean.
-      * If the result is a boolean the value of it is returned.
-      * If the result is a number, AXIS2_TRUE is
-      * returned if the value is not equal to 0 and AXIS2_FALSE otherwise.
-      * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE \
                otherwise.
-      *
-      * @param env Environment must not be null
-      * @param node A pointer to the XPath result
-      * @return The boolean value.
-      */
-    axis2_bool_t AXIS2_CALL axiom_xpath_cast_node_to_boolean(
-        const axutil_env_t *env,
-        axiom_xpath_result_node_t * node);
-
-    /**
-      * Convert an XPath result to a number.
-      * If the result is a boolean, 1 is returned if it's true and 0 otherwise.
-      * If the result is a number the value of it is returned.
-      * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE \
                otherwise.
-      *
-      * @param env Environment must not be null
-      * @param node A pointer to the XPath result
-      * @return The numerical value.
-      */
-    double AXIS2_CALL axiom_xpath_cast_node_to_number(
-        const axutil_env_t *env,
-        axiom_xpath_result_node_t * node);
-
-    /**
-      * Convert an XPath result to text.
-      * If the result is a boolean, "true" is returned if it's true and "false" \
                otherwise.
-      * If the result is a number the text representation of it is returned.
-      * If the result is a text the value of it is returned.
-      * If the result is an axiom node, the text value of it is returned
-      * If the result is an axiom attribue, the text value of it is returned
-      *
-      * @param env Environment must not be null
-      * @param node A pointer to the XPath result
-      * @return The text value.
-      */
-    axis2_char_t * AXIS2_CALL axiom_xpath_cast_node_to_string(
-        const axutil_env_t *env,
-        axiom_xpath_result_node_t * node);
-
-    /**
-      * Convert an XPath result to an axiom node.
-      * If the result is an axiom node it is returned and NULL otherwise.
-      *
-      * @param env Environment must not be null
-      * @param node A pointer to the XPath result
-      * @return The axiom node.
-      */
-    axiom_node_t * AXIS2_CALL axiom_xpath_cast_node_to_axiom_node(
-        const axutil_env_t *env,
-        axiom_xpath_result_node_t * node);
-
-
-    /**
-      * Free XPath context
-      *
-      * @param env Environment must not be null
-      * @param context XPath context must not be null
-      */
-    void AXIS2_CALL axiom_xpath_free_context(
-        const axutil_env_t *env,
-        axiom_xpath_context_t *context);
-
-    /**
-      * Free XPath expression
-      *
-      * @param env Environment must not be null
-      * @param xpath_expr XPath expression must not be null
-      */
-    void AXIS2_CALL axiom_xpath_free_expression(
-        const axutil_env_t *env,
-        axiom_xpath_expression_t * xpath_expr);
-
-    /**
-      * Free XPath result set
-      *
-      * @param env Environment must not be null
-      * @param result XPath result set must not be null
-      */
-    void AXIS2_CALL axiom_xpath_free_result(
-        const axutil_env_t *env,
-        axiom_xpath_result_t* result);
-
-    /**
-      * Registers a XPath namespace
-      *
-      * @param context XPath Context, must not be null
-      * @param ns AXIOM namespace, must not be null
-      */
-    void AXIS2_CALL axiom_xpath_register_namespace(
-        axiom_xpath_context_t *context,
-        axiom_namespace_t *ns);
-
-    /**
-      * Get a registered namespace by the prefix.
-      * If there is no namespace registered by the given prefix NULL will be \
                returned
-      *
-      * @param context XPath Context, must not be null
-      * @param prefix Prefix of the namespace, must not be null
-      * @return The namespace corresponding to the prefix.
-      */
-    axiom_namespace_t * AXIS2_CALL axiom_xpath_get_namespace(
-        axiom_xpath_context_t *context,
-        axis2_char_t *prefix);
-
-    /**
-      * Clears all registered XPath namespaces
-      *
-      * @param context XPath Context, must not be null
-      */
-    void AXIS2_CALL axiom_xpath_clear_namespaces(
-        axiom_xpath_context_t *context);
-
-    /**
-      * Evaluates an XPath expression on streaming XML.
-      * Not all expressions can be evaluated on streaming XML.
-      * If the expression cannot be evaluated on streaming XML NULL will be \
                returned.
-      *
-      * @param context XPath Context, must not be null
-      * @param xpath_expr XPath expression to be evaluated
-      */
-    axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate_streaming(
-        axiom_xpath_context_t *context,
-        axiom_xpath_expression_t *xpath_expr);
-
-    /**
-      * Checks whether the given expression can be evaluated on streaming XML.
-      * If it is possible AXIS2_TRUE will be retuned; AXIS2_FALSE otherwise.
-      *
-      * @param env Axis2 environment, must not be null
-      * @param expr Complied XPath expression, must not be null
-      * @return A boolean indicating whether the expression can be evaluated on \
                streaming XML.
-      */
-    axis2_bool_t AXIS2_CALL axiom_xpath_streaming_check(
-        const axutil_env_t *env,
-        axiom_xpath_expression_t* expr);
-
-    /**
-      * Setup the XPath core function library
-      *
-      * @param context XPath Context, must not be null
-      */
-    void AXIS2_CALL axiom_xpath_register_default_functions_set(
-        axiom_xpath_context_t *context);
-
-    /**
-      * Registers a custom XPath function http://www.w3.org/TR/xpath#corelib
-      *
-      * @param context XPath Context, must not be null
-      * @param name Name of the function, must not be null
-      * @param func Pointer to the function, must not be null
-      */
-    void AXIS2_CALL axiom_xpath_register_function(
-        axiom_xpath_context_t *context,
-        axis2_char_t *name,
-        axiom_xpath_function_t func);
-
-    /**
-      * Retrive a pointer to a registered funciton by the function name.
-      * If there is no function registered by the given name, NULL will be returned.
-      *
-      * @param context XPath Context, must not be null
-      * @param name Name of the function, must not be null
-      * @return The corresponding function.
-      */
-    axiom_xpath_function_t AXIS2_CALL axiom_xpath_get_function(
-        axiom_xpath_context_t *context,
-        axis2_char_t *name);
-
-    /** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef XPATH_H
+#define XPATH_H
+
+#include <axiom.h>
+#include <axis2_util.h>
+#include <axiom_soap.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    /**
+     * @defgroup axiom_xpath_api api
+     * @ingroup axiom_xpath
+     * @{
+     */
+
+
+    /**
+      * Enable tracing
+      */
+
+#define AXIOM_XPATH_DEBUG
+
+    /**
+      * An error occured while evaluating the xpath expression
+      */
+#define AXIOM_XPATH_EVALUATION_ERROR 0
+
+#define AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED 10
+
+    /* Typedefs */
+
+    /**
+      * XPath expression
+      * It includes the expression as a string and parsed data.
+      */
+    typedef struct axiom_xpath_expression axiom_xpath_expression_t;
+
+    /**
+      * The XPath context
+      * Keeps a reference to the context node or attribute,
+      * XPath expression, environment and result set.
+      */
+    typedef struct axiom_xpath_context axiom_xpath_context_t;
+
+    /**
+      * XPath result set
+      * Contains the result set and other information such as
+      * whether the expression was evaluated successfully.
+      */
+    typedef struct axiom_xpath_result axiom_xpath_result_t;
+
+    /**
+      * XPath result
+      * Stores type and value of the result.
+      */
+    typedef struct axiom_xpath_result_node axiom_xpath_result_node_t;
+
+    /**
+      * XPath result types
+      */
+    typedef enum axiom_xpath_result_type_t
+    {
+        AXIOM_XPATH_TYPE_NODE = 0,
+        AXIOM_XPATH_TYPE_ATTRIBUTE,
+        AXIOM_XPATH_TYPE_NAMESPACE,
+        AXIOM_XPATH_TYPE_TEXT,
+        AXIOM_XPATH_TYPE_NUMBER,
+        AXIOM_XPATH_TYPE_BOOLEAN
+    } axiom_xpath_result_type_t;
+
+    typedef int (*axiom_xpath_function_t)(axiom_xpath_context_t *context,
+            int np);
+
+    /**
+      * XPath expression
+      */
+    struct axiom_xpath_expression
+    {
+        /** XPath expression as a string */
+        axis2_char_t* expr_str;
+
+        /** Length of the expression */
+        int expr_len;
+
+        /** A cursor pointing to the position currently being parsed */
+        int expr_ptr;
+
+        /** Parsed expression in an array list*/
+        axutil_array_list_t *operations;
+
+        /** A pointer to the start operation in operations */
+        int start;
+    };
+
+    /**
+      * XPath context
+      */
+    struct axiom_xpath_context
+    {
+        /** Environment */
+        axutil_env_t *env;
+
+        /** List of namespaces */
+        axutil_hash_t *namespaces;
+
+        /** Set of functions */
+        axutil_hash_t *functions;
+
+        /** Root node */
+        axiom_node_t *root_node;
+
+        /** Context node */
+        axiom_node_t *node;
+
+        /** Context attribute */
+        axiom_attribute_t *attribute;
+
+        /** Context attribute */
+        axiom_namespace_t *ns;
+
+        /** Context position */
+        int position;
+
+        /** Context size
+          * *Does not work location paths due to optimizations */
+        int size;
+
+        /** XPath expression */
+        axiom_xpath_expression_t *expr;
+
+        /** Streaming */
+        axis2_bool_t streaming;
+
+        /** Stack of processed items */
+        axutil_stack_t *stack;
+
+        /* TODO:
+           functions
+           variables
+           etc */
+    };
+
+    /**
+      * XPath result set
+      */
+    struct axiom_xpath_result
+    {
+        /** A flag indicating whether errors occured while evaluting XPath
+          * expression */
+        int flag;
+
+        /** An array list containing the set of results */
+        axutil_array_list_t * nodes;
+    };
+
+    /**
+      * XPath result
+      */
+    struct axiom_xpath_result_node
+    {
+        /** Type of result */
+        axiom_xpath_result_type_t type;
+
+        /** Value */
+        void * value;
+    };
+
+    /**
+      * Compile an XPath expression
+      *
+      * @param env Environment must not be null
+      * @param xpath_expr A pointer to the XPath expression
+      * @return The parsed XPath expression. Returns NULL if an error occured
+      *         while parsing.
+      */
+    axiom_xpath_expression_t * AXIS2_CALL axiom_xpath_compile_expression(
+        const axutil_env_t *env,
+        const axis2_char_t* xpath_expr);
+
+    /**
+      * Create an empty XPath context
+      *
+      * @param env Environment must not be null
+      * @param root_node A pointer to the root of the tree
+      * @return The initialized XPath context.
+      */
+    axiom_xpath_context_t * AXIS2_CALL axiom_xpath_context_create(
+        axutil_env_t *env,
+        axiom_node_t * root_node);
+
+    /**
+      * Evaluate an parsed XPath expression. Different expressions could
+      * be evaluated on the same context, and same expression could be
+      * evaluated on multiple trees without recompiling.
+      *
+      * @param context XPath context must not be null
+      * @param xpath_expr XPath expression to be evaluated
+      * @return The set of results.
+      */
+    axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate(
+        axiom_xpath_context_t *context,
+        axiom_xpath_expression_t *xpath_expr);
+
+
+    /**
+      * Convert an XPath result to a boolean.
+      * If the result is a boolean the value of it is returned.
+      * If the result is a number, AXIS2_TRUE is
+      * returned if the value is not equal to 0 and AXIS2_FALSE otherwise.
+      * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE \
otherwise. +      *
+      * @param env Environment must not be null
+      * @param node A pointer to the XPath result
+      * @return The boolean value.
+      */
+    axis2_bool_t AXIS2_CALL axiom_xpath_cast_node_to_boolean(
+        const axutil_env_t *env,
+        axiom_xpath_result_node_t * node);
+
+    /**
+      * Convert an XPath result to a number.
+      * If the result is a boolean, 1 is returned if it's true and 0 otherwise.
+      * If the result is a number the value of it is returned.
+      * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE \
otherwise. +      *
+      * @param env Environment must not be null
+      * @param node A pointer to the XPath result
+      * @return The numerical value.
+      */
+    double AXIS2_CALL axiom_xpath_cast_node_to_number(
+        const axutil_env_t *env,
+        axiom_xpath_result_node_t * node);
+
+    /**
+      * Convert an XPath result to text.
+      * If the result is a boolean, "true" is returned if it's true and "false" \
otherwise. +      * If the result is a number the text representation of it is \
returned. +      * If the result is a text the value of it is returned.
+      * If the result is an axiom node, the text value of it is returned
+      * If the result is an axiom attribue, the text value of it is returned
+      *
+      * @param env Environment must not be null
+      * @param node A pointer to the XPath result
+      * @return The text value.
+      */
+    axis2_char_t * AXIS2_CALL axiom_xpath_cast_node_to_string(
+        const axutil_env_t *env,
+        axiom_xpath_result_node_t * node);
+
+    /**
+      * Convert an XPath result to an axiom node.
+      * If the result is an axiom node it is returned and NULL otherwise.
+      *
+      * @param env Environment must not be null
+      * @param node A pointer to the XPath result
+      * @return The axiom node.
+      */
+    axiom_node_t * AXIS2_CALL axiom_xpath_cast_node_to_axiom_node(
+        const axutil_env_t *env,
+        axiom_xpath_result_node_t * node);
+
+
+    /**
+      * Free XPath context
+      *
+      * @param env Environment must not be null
+      * @param context XPath context must not be null
+      */
+    void AXIS2_CALL axiom_xpath_free_context(
+        const axutil_env_t *env,
+        axiom_xpath_context_t *context);
+
+    /**
+      * Free XPath expression
+      *
+      * @param env Environment must not be null
+      * @param xpath_expr XPath expression must not be null
+      */
+    void AXIS2_CALL axiom_xpath_free_expression(
+        const axutil_env_t *env,
+        axiom_xpath_expression_t * xpath_expr);
+
+    /**
+      * Free XPath result set
+      *
+      * @param env Environment must not be null
+      * @param result XPath result set must not be null
+      */
+    void AXIS2_CALL axiom_xpath_free_result(
+        const axutil_env_t *env,
+        axiom_xpath_result_t* result);
+
+    /**
+      * Registers a XPath namespace
+      *
+      * @param context XPath Context, must not be null
+      * @param ns AXIOM namespace, must not be null
+      */
+    void AXIS2_CALL axiom_xpath_register_namespace(
+        axiom_xpath_context_t *context,
+        axiom_namespace_t *ns);
+
+    /**
+      * Get a registered namespace by the prefix.
+      * If there is no namespace registered by the given prefix NULL will be \
returned +      *
+      * @param context XPath Context, must not be null
+      * @param prefix Prefix of the namespace, must not be null
+      * @return The namespace corresponding to the prefix.
+      */
+    axiom_namespace_t * AXIS2_CALL axiom_xpath_get_namespace(
+        axiom_xpath_context_t *context,
+        axis2_char_t *prefix);
+
+    /**
+      * Clears all registered XPath namespaces
+      *
+      * @param context XPath Context, must not be null
+      */
+    void AXIS2_CALL axiom_xpath_clear_namespaces(
+        axiom_xpath_context_t *context);
+
+    /**
+      * Evaluates an XPath expression on streaming XML.
+      * Not all expressions can be evaluated on streaming XML.
+      * If the expression cannot be evaluated on streaming XML NULL will be \
returned. +      *
+      * @param context XPath Context, must not be null
+      * @param xpath_expr XPath expression to be evaluated
+      */
+    axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate_streaming(
+        axiom_xpath_context_t *context,
+        axiom_xpath_expression_t *xpath_expr);
+
+    /**
+      * Checks whether the given expression can be evaluated on streaming XML.
+      * If it is possible AXIS2_TRUE will be retuned; AXIS2_FALSE otherwise.
+      *
+      * @param env Axis2 environment, must not be null
+      * @param expr Complied XPath expression, must not be null
+      * @return A boolean indicating whether the expression can be evaluated on \
streaming XML. +      */
+    axis2_bool_t AXIS2_CALL axiom_xpath_streaming_check(
+        const axutil_env_t *env,
+        axiom_xpath_expression_t* expr);
+
+    /**
+      * Setup the XPath core function library
+      *
+      * @param context XPath Context, must not be null
+      */
+    void AXIS2_CALL axiom_xpath_register_default_functions_set(
+        axiom_xpath_context_t *context);
+
+    /**
+      * Registers a custom XPath function http://www.w3.org/TR/xpath#corelib
+      *
+      * @param context XPath Context, must not be null
+      * @param name Name of the function, must not be null
+      * @param func Pointer to the function, must not be null
+      */
+    void AXIS2_CALL axiom_xpath_register_function(
+        axiom_xpath_context_t *context,
+        axis2_char_t *name,
+        axiom_xpath_function_t func);
+
+    /**
+      * Retrive a pointer to a registered funciton by the function name.
+      * If there is no function registered by the given name, NULL will be returned.
+      *
+      * @param context XPath Context, must not be null
+      * @param name Name of the function, must not be null
+      * @return The corresponding function.
+      */
+    axiom_xpath_function_t AXIS2_CALL axiom_xpath_get_function(
+        axiom_xpath_context_t *context,
+        axis2_char_t *name);
+
+    /** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath.c Thu Nov 20 23:42:36 2008
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_internals.h"
 #include "xpath_internals_parser.h"
 #include "xpath_internals_engine.h"

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.c Thu Nov 20 23:42:36 \
2008 @@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
+#include <axiom_xpath.h>
 #include "xpath_functions.h"
-#include "xpath.h"
 #include "xpath_internals_engine.h"
 
 int axiom_xpath_function_count(axiom_xpath_context_t *context, int np)

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.h?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.h (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_functions.h Thu Nov 20 23:42:36 \
2008 @@ -19,7 +19,7 @@
 #ifndef XPATH_FUNCTIONS_H
 #define XPATH_FUNCTIONS_H
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals.c Thu Nov 20 23:42:36 \
2008 @@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_internals.h"
 
 /* Make a copy of the xpath expression */

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_engine.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_engine.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_engine.c Thu Nov 20 \
23:42:36 2008 @@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_internals.h"
 #include "xpath_internals_engine.h"
 #include "xpath_internals_iterators.h"

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.c Thu Nov 20 \
23:42:36 2008 @@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_internals.h"
 #include "xpath_internals_engine.h"
 #include "xpath_internals_iterators.h"

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.h?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.h (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_iterators.h Thu Nov 20 \
23:42:36 2008 @@ -19,7 +19,7 @@
 #ifndef XPATH_INTERNALS_ITERATORS_H
 #define XPATH_INTERNALS_ITERATORS_H
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_parser.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_parser.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_parser.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_internals_parser.c Thu Nov 20 \
23:42:36 2008 @@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_internals.h"
 #include "xpath_internals_parser.h"
 

Modified: webservices/axis2/trunk/c/axiom/src/xpath/xpath_streaming.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/xpath/xpath_streaming.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/src/xpath/xpath_streaming.c (original)
+++ webservices/axis2/trunk/c/axiom/src/xpath/xpath_streaming.c Thu Nov 20 23:42:36 \
2008 @@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-#include "xpath.h"
+#include <axiom_xpath.h>
 #include "xpath_streaming.h"
 #include "xpath_internals.h"
 #include "xpath_internals_engine.h"

Modified: webservices/axis2/trunk/c/axiom/test/xpath/test_xpath.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/test/xpath/test_xpath.c?rev=719528&r1=719527&r2=719528&view=diff
 ==============================================================================
--- webservices/axis2/trunk/c/axiom/test/xpath/test_xpath.c (original)
+++ webservices/axis2/trunk/c/axiom/test/xpath/test_xpath.c Thu Nov 20 23:42:36 2008
@@ -25,8 +25,7 @@
 #include <axiom.h>
 #include <axis2_util.h>
 #include <axiom_soap.h>
-
-#include "xpath.h"
+#include <axiom_xpath.h>
 
 /* Function headers */
 axiom_node_t *build_test_xml(const axutil_env_t *env);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic