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