summaryrefslogtreecommitdiffstats
path: root/axiom/src/om
diff options
context:
space:
mode:
Diffstat (limited to 'axiom/src/om')
-rw-r--r--axiom/src/om/om_node.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/axiom/src/om/om_node.c b/axiom/src/om/om_node.c
index d32949c..f9c3504 100644
--- a/axiom/src/om/om_node.c
+++ b/axiom/src/om/om_node.c
@@ -1129,6 +1129,17 @@ axiom_node_get_previous_sibling(
}
AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+axiom_node_get_previous_sibling_element(
+ axiom_node_t * om_node,
+ const axutil_env_t * env)
+{
+ axiom_node_t * result = axiom_node_get_previous_sibling( om_node, env );
+ while ( result && axiom_node_get_node_type(result, env) != AXIOM_ELEMENT )
+ result = axiom_node_get_previous_sibling( result, env );
+ return result;
+}
+
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL
axiom_node_get_next_sibling(
axiom_node_t * om_node,
const axutil_env_t * env)
@@ -1160,6 +1171,18 @@ axiom_node_get_next_sibling(
return om_node->next_sibling;
}
+AXIS2_EXTERN axiom_node_t *AXIS2_CALL
+axiom_node_get_next_sibling_element(
+ axiom_node_t * om_node,
+ const axutil_env_t * env)
+{
+ axiom_node_t * result = axiom_node_get_next_sibling( om_node, env );
+ while ( result && axiom_node_get_node_type(result, env) != AXIOM_ELEMENT )
+ result = axiom_node_get_next_sibling( result, env );
+ return result;
+}
+
+
AXIS2_EXTERN axiom_types_t AXIS2_CALL
axiom_node_get_node_type(
axiom_node_t * om_node,