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