This is an automated email from the ASF dual-hosted git repository. billblough pushed a commit to branch axiomfix in repository https://gitbox.apache.org/repos/asf/axis-axis2-c-core.git
commit c62ddc3f9f8f17289c67882d86e4f61955b242f6 Author: William Mitchell <[email protected]> AuthorDate: Thu Feb 21 20:58:53 2008 +0000 AXIS2C-675: Include axiom_element.h changes omitted during the patch operation. --- axiom/include/axiom_element.h | 51 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/axiom/include/axiom_element.h b/axiom/include/axiom_element.h index 49e0d16..e901c8a 100644 --- a/axiom/include/axiom_element.h +++ b/axiom/include/axiom_element.h @@ -48,6 +48,12 @@ extern "C" * @param parent parent of the element node to be created. can be NULL. * @param localname local name of the elment. cannot be NULL. * @param ns namespace of the element. can be NULL. + * If the value of the namespace has not already been declared + * then the namespace structure ns will be declared and will be + * freed when the tree is freed. + * If the value of the namespace has already been declared using + * another namespace structure then the namespace structure ns + * will be freed. * @param node This is an out parameter. cannot be NULL. * Returns the node corresponding to the comment created. * Node type will be set to AXIOM_ELEMENT @@ -222,16 +228,16 @@ extern "C" axiom_output_t * om_output); /** - * finds a namespace in current elements scope + * finds a namespace in current element's scope, + * by uri or prefix or both * @param om_element * @param env environemt must not be null - * @param uri namespace uri + * @param uri namespace uri, may be null * @param prefix prefix * @return axiom_namespace_t if found, else return NULL */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL - axiom_element_find_declared_namespace( axiom_element_t * om_element, const axutil_env_t * env, @@ -282,7 +288,10 @@ extern "C" * @param om_element Om_element struct * @param env environment must not be null * @param ns pointer to namespace - * @returns status code of the op , NULL on error with error code + * If the value of the namespace has not already been declared + * then the namespace structure ns will be declared and will be + * freed when the tree is freed. + * @returns status code of the op, with error code * set to environment's error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL @@ -292,8 +301,17 @@ extern "C" axiom_namespace_t * ns, axiom_node_t * node); - AXIS2_EXTERN axis2_status_t AXIS2_CALL + /** + * unconditionally set the namespace of the element + * @param om_element Om_element struct + * @param env environment must not be null + * @param ns pointer to namespace + * The namespace ns is assumed to have been declared already. + * @returns status code of the op, with error code + * set to environment's error + */ + AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace_assume_param_ownership( axiom_element_t * om_element, const axutil_env_t * env, @@ -586,6 +604,29 @@ extern "C" const axutil_env_t * env, axis2_bool_t is_empty); + AXIS2_EXTERN axutil_hash_t * AXIS2_CALL + axiom_element_gather_parent_namespaces( + axiom_element_t * om_element, + const axutil_env_t * env, + axiom_node_t * om_node); + + AXIS2_EXTERN void AXIS2_CALL + axiom_element_use_parent_namespace( + axiom_element_t * om_element, + const axutil_env_t * env, + axiom_node_t * om_node, + axiom_namespace_t *ns, + axiom_element_t * root_element, + axutil_hash_t *inscope_namespaces); + + AXIS2_EXTERN void AXIS2_CALL + axiom_element_redeclare_parent_namespaces( + axiom_element_t * om_element, + const axutil_env_t * env, + axiom_node_t * om_node, + axiom_element_t * root_element, + axutil_hash_t *inscope_namespaces); + /** @} */ #ifdef __cplusplus
