| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| #ifndef AXIOM_UTIL_H |
| #define AXIOM_UTIL_H |
| |
| #include <axutil_array_list.h> |
| #include <axutil_string.h> |
| #include <axiom.h> |
| #include <axutil_uri.h> |
| |
| #ifdef __cplusplus |
| extern "C" |
| { |
| #endif |
| /** |
| * After calling this method the variable child points to |
| * the node of the returning element |
| * @param ele_node axiom node |
| * @param env environment, MUST not be NULL |
| * @param uri uri |
| * return the first child element which has the given uri |
| */ |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element_with_uri( |
| axiom_node_t * ele_node, |
| const axutil_env_t * env, |
| axis2_char_t * uri, |
| axiom_node_t ** child); |
| /** |
| * After calling this method next_node will point to the |
| * previous sibling node to the returning node |
| * @param ele_node axiom node |
| * @param env environment, MUST not be NULL |
| * @param uri uri |
| * @param next_node |
| * return the next sibling element to the element which contains |
| * the give namespace uri |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_sibling_element_with_uri( |
| axiom_node_t * ele_node, |
| const axutil_env_t * env, |
| axis2_char_t * uri, |
| axiom_node_t ** next_node); |
| /** |
| * @param eleaxiom node |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param child_node |
| * return the first child element this calls the method |
| * axiom_element_get_first_child_element |
| * |
| */ |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele axiom element |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param child_node |
| * return the last child element of the given element ele_node |
| */ |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_last_child_element( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele axiom node |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param next_node |
| * return the first child element which has the given uri |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_sibling_element( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axiom_node_t ** next_node); |
| /** |
| * @param ele axiom element |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname localname to find the first child element |
| * @param child_node |
| * |
| * return the first child element from ele_node which contains the |
| * given local name |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element_with_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname to find the last child element |
| * @param child_node |
| * return the last child element which having the given local name |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_last_child_element_with_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname to find the last child element |
| * @param next_node |
| * return the next sibling element which is having the given local name |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_siblng_element_with_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axiom_node_t ** next_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname to find the last child element |
| * @param uri uri to of the namespace to find the first element |
| * @param next_node |
| * return the first child element which is having the given local |
| * name and the given namespace uri |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element_with_uri_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * uri, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname to find the last child element |
| * @param uri uri of the namespace to find the last element |
| * @param next_node |
| * return the last child element which is having the given local name and |
| * the given namespace uri |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_last_child_element_with_uri_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * uri, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param localname to find the last child element |
| * @param uri uri of the namespace to find the last element |
| * @param next_node |
| * return next sibling element which is having the given local name and |
| * the given namespace uri |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_sibling_element_with_uri_localname( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * uri, |
| axiom_node_t ** next_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param names local names to find the child element |
| * @param child_node |
| * return the first child element which is having all the localnames given |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element_with_localnames( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axutil_array_list_t * names, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param names local names to find the last child element |
| * @param child_node |
| * return the last child element which is having all the localnames given |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_last_child_element_with_localnames( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axutil_array_list_t * names, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node axiom node |
| * @param names local names to find the next sibling |
| * @param child_node |
| * return the next sibling element which is having all the localnames given |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_siblng_element_with_localnames( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axutil_array_list_t * names, |
| axiom_node_t ** next_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param localname local name to find the first child |
| * @param attr_name attribute name to find first child |
| * @param attr_value attribute value of attr_name attribute |
| * @param child_node |
| * return the first child element which is having the given local |
| * name and the given attribute (attribute name and attribute value) |
| */ |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_first_child_element_with_localname_attr( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * attr_name, |
| axis2_char_t * attr_value, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param localname local name to find the last child |
| * @param attr_name attribute name to find last child |
| * @param attr_value attribute value of attr_name attribute |
| * @param child_node |
| * return the last child element which is having the given local |
| * name and the given attribute (attribute name and attribute value) |
| */ |
| |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_last_child_element_with_localname_attr( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * attr_name, |
| axis2_char_t * attr_value, |
| axiom_node_t ** child_node); |
| /** |
| * @param ele |
| * @param env environment, MUST not be NULL |
| * @param ele_node |
| * @param localname local name to find the next sibling child |
| * @param attr_name attribute name to find the next sibling child |
| * @param attr_value attribute value of attr_name attribute |
| * @param child_node |
| * return the next sibling child element which is having the given local |
| * name and the given attribute (attribute name and attribute value) |
| */ |
| |
| AXIS2_EXTERN axiom_element_t *AXIS2_CALL |
| axiom_util_get_next_siblng_element_with_localname_attr( |
| axiom_element_t * ele, |
| const axutil_env_t * env, |
| axiom_node_t * ele_node, |
| axis2_char_t * localname, |
| axis2_char_t * attr_name, |
| axis2_char_t * attr_value, |
| axiom_node_t ** next_node); |
| /** |
| * @param node axiom node |
| * @param env environment, MUST not be NULL |
| * |
| * return the element text of axiom_node |
| */ |
| |
| AXIS2_EXTERN axis2_char_t *AXIS2_CALL |
| axiom_util_get_child_text( |
| axiom_node_t * node, |
| const axutil_env_t * env); |
| /** |
| * @param node axiom node |
| * @param env environment, MUST not be NULL |
| * |
| * return the local name of axiom_node |
| */ |
| |
| AXIS2_EXTERN axis2_char_t *AXIS2_CALL |
| axiom_util_get_localname( |
| axiom_node_t * node, |
| const axutil_env_t * env); |
| /** |
| * @param om_node axiom node |
| * @param env environment, MUST not be NULL |
| * |
| * return the namespace uri of the give node variable om_node if |
| * there's no namespace in that particular om_node this method |
| * returns NULL |
| */ |
| |
| AXIS2_EXTERN axis2_char_t *AXIS2_CALL |
| axiom_util_get_node_namespace_uri( |
| axiom_node_t * om_node, |
| const axutil_env_t * env); |
| /** |
| * @param om_ele axiom node |
| * @param env environment, MUST not be NULL |
| * @param om_node |
| * return all the child element using the method |
| * axiom_child_element_iterator_create |
| */ |
| |
| AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL |
| axiom_util_get_child_elements( |
| axiom_element_t * om_ele, |
| const axutil_env_t * env, |
| axiom_node_t * om_node); |
| |
| AXIS2_EXTERN axiom_document_t *AXIS2_CALL |
| axiom_util_new_document( |
| const axutil_env_t * env, |
| const axutil_uri_t * uri); |
| |
| AXIS2_EXTERN axiom_node_t* AXIS2_CALL |
| axiom_util_get_node_by_local_name( |
| const axutil_env_t *env, |
| axiom_node_t *node, |
| axis2_char_t *local_name); |
| |
| /** |
| * Creates a clone of given node |
| * @param env environment, MUST not be NULL |
| * @param node node to be cloned |
| * @return cloned node |
| */ |
| AXIS2_EXTERN axiom_node_t *AXIS2_CALL |
| axiom_util_clone_node( |
| const axutil_env_t *env, |
| axiom_node_t *node); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif /* AXIOM_UTIL_H */ |