00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_UTIL_H
00020 #define AXIOM_UTIL_H
00021
00022 #include <axutil_array_list.h>
00023 #include <axutil_string.h>
00024 #include <axiom.h>
00025 #include <axutil_uri.h>
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031
00039 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00040 axiom_util_get_first_child_element_with_uri(
00041 axiom_node_t * ele_node,
00042 const axutil_env_t * env,
00043 axis2_char_t * uri,
00044 axiom_node_t ** child);
00056 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00057 axiom_util_get_next_sibling_element_with_uri(
00058 axiom_node_t * ele_node,
00059 const axutil_env_t * env,
00060 axis2_char_t * uri,
00061 axiom_node_t ** next_node);
00071 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00072 axiom_util_get_first_child_element(
00073 axiom_element_t * ele,
00074 const axutil_env_t * env,
00075 axiom_node_t * ele_node,
00076 axiom_node_t ** child_node);
00084 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00085 axiom_util_get_last_child_element(
00086 axiom_element_t * ele,
00087 const axutil_env_t * env,
00088 axiom_node_t * ele_node,
00089 axiom_node_t ** child_node);
00098 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00099 axiom_util_get_next_sibling_element(
00100 axiom_element_t * ele,
00101 const axutil_env_t * env,
00102 axiom_node_t * ele_node,
00103 axiom_node_t ** next_node);
00115 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00116 axiom_util_get_first_child_element_with_localname(
00117 axiom_element_t * ele,
00118 const axutil_env_t * env,
00119 axiom_node_t * ele_node,
00120 axis2_char_t * localname,
00121 axiom_node_t ** child_node);
00131 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00132 axiom_util_get_last_child_element_with_localname(
00133 axiom_element_t * ele,
00134 const axutil_env_t * env,
00135 axiom_node_t * ele_node,
00136 axis2_char_t * localname,
00137 axiom_node_t ** child_node);
00147 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00148 axiom_util_get_next_siblng_element_with_localname(
00149 axiom_element_t * ele,
00150 const axutil_env_t * env,
00151 axiom_node_t * ele_node,
00152 axis2_char_t * localname,
00153 axiom_node_t ** next_node);
00165 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00166 axiom_util_get_first_child_element_with_uri_localname(
00167 axiom_element_t * ele,
00168 const axutil_env_t * env,
00169 axiom_node_t * ele_node,
00170 axis2_char_t * localname,
00171 axis2_char_t * uri,
00172 axiom_node_t ** child_node);
00184 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00185 axiom_util_get_last_child_element_with_uri_localname(
00186 axiom_element_t * ele,
00187 const axutil_env_t * env,
00188 axiom_node_t * ele_node,
00189 axis2_char_t * localname,
00190 axis2_char_t * uri,
00191 axiom_node_t ** child_node);
00203 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00204 axiom_util_get_next_sibling_element_with_uri_localname(
00205 axiom_element_t * ele,
00206 const axutil_env_t * env,
00207 axiom_node_t * ele_node,
00208 axis2_char_t * localname,
00209 axis2_char_t * uri,
00210 axiom_node_t ** next_node);
00220 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00221 axiom_util_get_first_child_element_with_localnames(
00222 axiom_element_t * ele,
00223 const axutil_env_t * env,
00224 axiom_node_t * ele_node,
00225 axutil_array_list_t * names,
00226 axiom_node_t ** child_node);
00236 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00237 axiom_util_get_last_child_element_with_localnames(
00238 axiom_element_t * ele,
00239 const axutil_env_t * env,
00240 axiom_node_t * ele_node,
00241 axutil_array_list_t * names,
00242 axiom_node_t ** child_node);
00252 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00253 axiom_util_get_next_siblng_element_with_localnames(
00254 axiom_element_t * ele,
00255 const axutil_env_t * env,
00256 axiom_node_t * ele_node,
00257 axutil_array_list_t * names,
00258 axiom_node_t ** next_node);
00270 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00271 axiom_util_get_first_child_element_with_localname_attr(
00272 axiom_element_t * ele,
00273 const axutil_env_t * env,
00274 axiom_node_t * ele_node,
00275 axis2_char_t * localname,
00276 axis2_char_t * attr_name,
00277 axis2_char_t * attr_value,
00278 axiom_node_t ** child_node);
00292 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00293 axiom_util_get_last_child_element_with_localname_attr(
00294 axiom_element_t * ele,
00295 const axutil_env_t * env,
00296 axiom_node_t * ele_node,
00297 axis2_char_t * localname,
00298 axis2_char_t * attr_name,
00299 axis2_char_t * attr_value,
00300 axiom_node_t ** child_node);
00313 AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00314 axiom_util_get_next_siblng_element_with_localname_attr(
00315 axiom_element_t * ele,
00316 const axutil_env_t * env,
00317 axiom_node_t * ele_node,
00318 axis2_char_t * localname,
00319 axis2_char_t * attr_name,
00320 axis2_char_t * attr_value,
00321 axiom_node_t ** next_node);
00329 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00330 axiom_util_get_child_text(
00331 axiom_node_t * node,
00332 const axutil_env_t * env);
00340 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00341 axiom_util_get_localname(
00342 axiom_node_t * node,
00343 const axutil_env_t * env);
00353 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00354 axiom_util_get_node_namespace_uri(
00355 axiom_node_t * om_node,
00356 const axutil_env_t * env);
00365 AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL
00366 axiom_util_get_child_elements(
00367 axiom_element_t * om_ele,
00368 const axutil_env_t * env,
00369 axiom_node_t * om_node);
00370
00371 AXIS2_EXTERN axiom_document_t *AXIS2_CALL
00372 axiom_util_new_document(
00373 const axutil_env_t * env,
00374 const axutil_uri_t * uri);
00375
00376 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00377 axiom_util_get_node_by_local_name(
00378 const axutil_env_t *env,
00379 axiom_node_t *node,
00380 axis2_char_t *local_name);
00381
00382
00383 #ifdef __cplusplus
00384 }
00385 #endif
00386 #endif