00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef OXS_AXIOM_H
00019 #define OXS_AXIOM_H
00020
00021
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <axis2_util.h>
00030 #include <axiom_node.h>
00031 #include <axiom_util.h>
00032 #include <axiom_document.h>
00033 #include <axiom.h>
00034
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039
00054 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055 oxs_axiom_add_attribute(const axutil_env_t *env,
00056 axiom_node_t* node,
00057 axis2_char_t* attribute_ns,
00058 axis2_char_t* attribute_ns_uri,
00059 axis2_char_t* attribute,
00060 axis2_char_t* value);
00071 AXIS2_EXTERN int AXIS2_CALL
00072 oxs_axiom_get_number_of_children_with_qname(const axutil_env_t *env,
00073 axiom_node_t* parent,
00074 axis2_char_t* local_name,
00075 axis2_char_t* ns_uri,
00076 axis2_char_t* prefix);
00077
00086 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00087 oxs_axiom_get_node_by_local_name(const axutil_env_t *env,
00088 axiom_node_t *node,
00089 axis2_char_t *local_name);
00099 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00100 oxs_axiom_get_node_by_id(const axutil_env_t *env,
00101 axiom_node_t *node,
00102 axis2_char_t *attr,
00103 axis2_char_t *val,
00104 axis2_char_t *ns);
00105
00114 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00115 oxs_axiom_get_attribute_value_of_node_by_name(const axutil_env_t *env,
00116 axiom_node_t *node,
00117 axis2_char_t *attribute_name,
00118 axis2_char_t *ns);
00119
00120 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00121 oxs_axiom_get_attribute_val_of_node_by_qname(const axutil_env_t *env,
00122 axiom_node_t *node,
00123 axutil_qname_t *qname);
00124
00128 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00129 oxs_axiom_get_first_child_node_by_name(const axutil_env_t *env,
00130 axiom_node_t* parent,
00131 axis2_char_t* local_name,
00132 axis2_char_t* ns_uri,
00133 axis2_char_t* prefix);
00134
00135
00136
00137
00138 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00139 oxs_axiom_get_node_content(const axutil_env_t *env, axiom_node_t* node);
00140
00141
00142 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00143 oxs_axiom_deserialize_node(const axutil_env_t *env, axis2_char_t* buffer);
00147 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148 oxs_axiom_check_node_name(const axutil_env_t *env, axiom_node_t* node, axis2_char_t* name, axis2_char_t* ns);
00149
00150
00151 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00152 oxs_axiom_interchange_nodes(const axutil_env_t *env,
00153 axiom_node_t *node_to_move,
00154 axiom_node_t *node_before);
00155
00156 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157 oxs_axiom_add_as_the_first_child(const axutil_env_t *env,
00158 axiom_node_t *parent,
00159 axiom_node_t *child);
00160
00173 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00174 oxs_axiom_get_first_node_by_name_and_attr_val(
00175 const axutil_env_t *env,
00176 axiom_node_t *node,
00177 axis2_char_t *e_name,
00178 axis2_char_t *e_ns,
00179 axis2_char_t *attr_name,
00180 axis2_char_t *attr_val,
00181 axis2_char_t *attr_ns);
00182
00196 AXIS2_EXTERN axiom_node_t * AXIS2_CALL
00197 oxs_axiom_get_first_node_by_name_and_attr_val_from_xml_doc(
00198 const axutil_env_t *env,
00199 axiom_node_t *node,
00200 axis2_char_t *e_name,
00201 axis2_char_t *e_ns,
00202 axis2_char_t *attr_name,
00203 axis2_char_t *attr_val,
00204 axis2_char_t *attr_ns);
00205
00206 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00207 oxs_axiom_clone_node(const axutil_env_t *env,
00208 axiom_node_t *node);
00209
00211 #ifdef __cplusplus
00212 }
00213 #endif
00214
00215 #endif