axiom_node_add_sibling function added. It can be used to generates a multipart envelop payload.
Jira: AXIS2C-1687

diff --git a/axiom/src/om/om_node.c b/axiom/src/om/om_node.c
index 5be3e60..6d590b0 100644
--- a/axiom/src/om/om_node.c
+++ b/axiom/src/om/om_node.c
@@ -1434,7 +1434,33 @@
     axiom_output_free(om_output, env);
     return xml;
 }
-    
+
+AXIS2_EXTERN axiom_node_t * AXIS2_CALL
+axiom_node_add_sibling(
+	const axutil_env_t *env,
+	axiom_node_t *nodeElem,
+	axiom_node_t *nodeElemSibling)
+{
+	assert(env != NULL);
+
+	AXIS2_ENV_CHECK(env, NULL);
+	AXIS2_PARAM_CHECK(env->error, nodeElem, NULL);
+	AXIS2_PARAM_CHECK(env->error, nodeElemSibling, NULL);
+
+	axiom_node_t *next_sib = NULL;
+	nodeElemSibling->parent = nodeElem->parent;
+	nodeElemSibling->prev_sibling = nodeElem;
+	next_sib = nodeElem->next_sibling;
+	if (next_sib)
+	{
+		next_sib->prev_sibling = nodeElemSibling;
+	}
+	nodeElemSibling->next_sibling = nodeElem->next_sibling;
+	nodeElem->next_sibling = nodeElemSibling;
+
+	return nodeElem;
+}
+  
 #if 0
 
 /**
@@ -1468,3 +1494,4 @@
 }
 
 #endif
+