00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIOM_UTIL_H
00018 #define AXIOM_UTIL_H
00019
00020 #include <axis2_array_list.h>
00021 #include <axis2_string.h>
00022 #include <axiom.h>
00023
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028
00029 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00030 axiom_util_get_first_child_element_with_uri(
00031 axiom_node_t *ele_node,
00032 const axis2_env_t *env,
00033 axis2_char_t *uri,
00034 axiom_node_t **child);
00035
00036 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00037 axiom_util_get_next_sibling_element_with_uri(
00038 axiom_node_t *ele_node,
00039 const axis2_env_t *env,
00040 axis2_char_t *uri,
00041 axiom_node_t **next_node);
00042
00043
00044
00045 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00046 axiom_util_get_first_child_element(
00047 axiom_element_t *ele,
00048 const axis2_env_t *env,
00049 axiom_node_t *ele_node,
00050 axiom_node_t **child_node);
00051
00052 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00053 axiom_util_get_last_child_element(
00054 axiom_element_t *ele,
00055 const axis2_env_t *env,
00056 axiom_node_t *ele_node,
00057 axiom_node_t **child_node);
00058
00059 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00060 axiom_util_get_next_sibling_element(
00061 axiom_element_t *ele,
00062 const axis2_env_t *env,
00063 axiom_node_t *ele_node,
00064 axiom_node_t **next_node);
00065
00066 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00067 axiom_util_get_first_child_element_with_localname(
00068 axiom_element_t *ele,
00069 const axis2_env_t *env,
00070 axiom_node_t *ele_node,
00071 axis2_char_t *localname,
00072 axiom_node_t **child_node);
00073
00074
00075 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00076 axiom_util_get_last_child_element_with_localname(
00077 axiom_element_t *ele,
00078 const axis2_env_t *env,
00079 axiom_node_t *ele_node,
00080 axis2_char_t *localname,
00081 axiom_node_t **child_node);
00082
00083 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00084 axiom_util_get_next_siblng_element_with_localname(
00085 axiom_element_t *ele,
00086 const axis2_env_t *env,
00087 axiom_node_t *ele_node,
00088 axis2_char_t *localname,
00089 axiom_node_t **next_node);
00090
00091 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00092 axiom_util_get_first_child_element_with_uri_localname(
00093 axiom_element_t *ele,
00094 const axis2_env_t *env,
00095 axiom_node_t *ele_node,
00096 axis2_char_t *localname,
00097 axis2_char_t *uri,
00098 axiom_node_t **child_node);
00099 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00100 axiom_util_get_last_child_element_with_uri_localname(axiom_element_t *ele,
00101 const axis2_env_t *env,
00102 axiom_node_t *ele_node,
00103 axis2_char_t *localname,
00104 axis2_char_t *uri,
00105 axiom_node_t **child_node);
00106
00107 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00108 axiom_util_get_next_sibling_element_with_uri_localname(axiom_element_t *ele,
00109 const axis2_env_t *env,
00110 axiom_node_t *ele_node,
00111 axis2_char_t *localname,
00112 axis2_char_t *uri,
00113 axiom_node_t **next_node);
00114
00115 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00116 axiom_util_get_first_child_element_with_localnames(axiom_element_t *ele,
00117 const axis2_env_t *env,
00118 axiom_node_t *ele_node,
00119 axis2_array_list_t *names,
00120 axiom_node_t **child_node);
00121
00122
00123 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00124 axiom_util_get_last_child_element_with_localnames(axiom_element_t *ele,
00125 const axis2_env_t *env,
00126 axiom_node_t *ele_node,
00127 axis2_array_list_t *names,
00128 axiom_node_t **child_node);
00129
00130 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00131 axiom_util_get_next_siblng_element_with_localnames(axiom_element_t *ele,
00132 const axis2_env_t *env,
00133 axiom_node_t *ele_node,
00134 axis2_array_list_t *names,
00135 axiom_node_t **next_node);
00136
00137 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00138 axiom_util_get_first_child_element_with_localname_attr(axiom_element_t *ele,
00139 const axis2_env_t *env,
00140 axiom_node_t *ele_node,
00141 axis2_char_t *localname,
00142 axis2_char_t *attr_name,
00143 axis2_char_t *attr_value,
00144 axiom_node_t **child_node);
00145
00146
00147 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00148 axiom_util_get_last_child_element_with_localname_attr(axiom_element_t *ele,
00149 const axis2_env_t *env,
00150 axiom_node_t *ele_node,
00151 axis2_char_t *localname,
00152 axis2_char_t *attr_name,
00153 axis2_char_t *attr_value,
00154 axiom_node_t **child_node);
00155
00156 AXIS2_EXTERN axiom_element_t * AXIS2_CALL
00157 axiom_util_get_next_siblng_element_with_localname_attr(axiom_element_t *ele,
00158 const axis2_env_t *env,
00159 axiom_node_t *ele_node,
00160 axis2_char_t *localname,
00161 axis2_char_t *attr_name,
00162 axis2_char_t *attr_value,
00163 axiom_node_t **next_node);
00164
00165 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00166 axiom_util_get_child_text(axiom_node_t *node,
00167 const axis2_env_t *env);
00168
00169 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00170 axiom_util_get_localname(axiom_node_t *node,
00171 const axis2_env_t *env);
00172
00173 AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00174 axiom_util_get_node_namespace_uri(axiom_node_t *om_node,
00175 const axis2_env_t *env);
00176
00177
00178 AXIS2_EXTERN axiom_child_element_iterator_t* AXIS2_CALL
00179 axiom_util_get_child_elements(axiom_element_t *om_ele,
00180 const axis2_env_t *env,
00181 axiom_node_t *om_node);
00182 #ifdef __cplusplus
00183 }
00184 #endif
00185 #endif