# oxs_axiom.h

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 #ifndef OXS_AXIOM_H
    00019 #define OXS_AXIOM_H
    00020
    00026 #include <axis2_defines.h>
    00027 #include <axutil_env.h>
    00028 #include <axis2_util.h>
    00029 #include <axiom_node.h>
    00030
    00031 #ifdef __cplusplus
    00032 extern "C"
    00033 {
    00034 #endif
    00035
    00050     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00051     oxs_axiom_add_attribute(
    00052         const axutil_env_t *env,
    00053         axiom_node_t* node,
    00054         axis2_char_t* attribute_ns,
    00055         axis2_char_t* attribute_ns_uri,
    00056         axis2_char_t* attribute,
    00057         axis2_char_t* value);
    00058
    00068     AXIS2_EXTERN int AXIS2_CALL
    00069     oxs_axiom_get_number_of_children_with_qname(
    00070         const axutil_env_t *env,
    00071         axiom_node_t* parent,
    00072         axis2_char_t* local_name,
    00073         axis2_char_t* ns_uri,
    00074         axis2_char_t* prefix);
    00075
    00083     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
    00084     oxs_axiom_get_node_by_local_name(
    00085         const axutil_env_t *env,
    00086         axiom_node_t *node,
    00087         axis2_char_t *local_name);
    00088
    00099     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
    00100     oxs_axiom_get_node_by_id(
    00101         const axutil_env_t *env,
    00102         axiom_node_t *node,
    00103         axis2_char_t *attr,
    00104         axis2_char_t *val,
    00105         axis2_char_t *ns);
    00106
    00116     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
    00117     oxs_axiom_get_attribute_value_of_node_by_name(
    00118         const axutil_env_t *env,
    00119         axiom_node_t *node,
    00120         axis2_char_t *attribute_name,
    00121         axis2_char_t *ns);
    00122
    00131     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
    00132     oxs_axiom_get_attribute_val_of_node_by_qname(
    00133         const axutil_env_t *env,
    00134         axiom_node_t *node,
    00135         axutil_qname_t *qname);
    00136
    00147     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
    00148     oxs_axiom_get_first_child_node_by_name(
    00149         const axutil_env_t *env,
    00150         axiom_node_t* parent,
    00151         axis2_char_t* local_name,
    00152         axis2_char_t* ns_uri,
    00153         axis2_char_t* prefix);
    00154
    00161     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
    00162     oxs_axiom_get_node_content(
    00163         const axutil_env_t *env,
    00164         axiom_node_t* node);
    00165
    00172     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
    00173     oxs_axiom_deserialize_node(
    00174         const axutil_env_t *env,
    00175         axis2_char_t* buffer);
    00176
    00185     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00186     oxs_axiom_check_node_name(
    00187         const axutil_env_t *env,
    00188         axiom_node_t* node,
    00189         axis2_char_t* name,
    00190         axis2_char_t* ns);
    00191
    00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00200     oxs_axiom_interchange_nodes(
    00201         const axutil_env_t *env,
    00202         axiom_node_t *node_to_move,
    00203         axiom_node_t *node_before);
    00204
    00212     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00213     oxs_axiom_add_as_the_first_child(
    00214         const axutil_env_t *env,
    00215         axiom_node_t *parent,
    00216         axiom_node_t *child);
    00217
    00230         AXIS2_EXTERN axiom_node_t* AXIS2_CALL
    00231         oxs_axiom_get_first_node_by_name_and_attr_val(
    00232         const axutil_env_t *env,
    00233         axiom_node_t *node,
    00234         axis2_char_t *e_name,
    00235         axis2_char_t *e_ns,
    00236         axis2_char_t *attr_name,
    00237         axis2_char_t *attr_val,
    00238         axis2_char_t *attr_ns);
    00239
    00253         AXIS2_EXTERN axiom_node_t * AXIS2_CALL
    00254         oxs_axiom_get_first_node_by_name_and_attr_val_from_xml_doc(
    00255         const axutil_env_t *env,
    00256         axiom_node_t *node,
    00257         axis2_char_t *e_name,
    00258         axis2_char_t *e_ns,
    00259         axis2_char_t *attr_name,
    00260         axis2_char_t *attr_val,
    00261         axis2_char_t *attr_ns);
    00262
    00269     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
    00270     oxs_axiom_clone_node(
    00271         const axutil_env_t *env,
    00272         axiom_node_t *node);
    00273
    00275 #ifdef __cplusplus
    00276 }
    00277 #endif
    00278
    00279 #endif                          /* OXS_AXIOM_H */