<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: OXS Axiom</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>OXS Axiom<br>
<small>
[<a class="el" href="group__oxs.html">OMXMLSecurity</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g1bd4035948efe471a6ff198a9ee36eca">oxs_axiom_add_attribute</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attribute_ns, axis2_char_t *attribute_ns_uri, axis2_char_t *attribute, axis2_char_t *value)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g65a8d5e7b77d2d2d8d69157e09818ad9">oxs_axiom_get_number_of_children_with_qname</a> (const axutil_env_t *env, axiom_node_t *parent, axis2_char_t *local_name, axis2_char_t *ns_uri, axis2_char_t *prefix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g4d407950fbcbe08ced690f1f2479f981">oxs_axiom_get_node_by_local_name</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *local_name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g1256956c073f0366d79a42d7df8c27be">oxs_axiom_get_node_by_id</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attr, axis2_char_t *val, axis2_char_t *ns)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#gc4d6bee25ce27811a4a1a4c4663b27e7">oxs_axiom_get_attribute_value_of_node_by_name</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attribute_name, axis2_char_t *ns)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g4829906f2940b10ef351c90b9b8c029d">oxs_axiom_get_attribute_val_of_node_by_qname</a> (const axutil_env_t *env, axiom_node_t *node, axutil_qname_t *qname)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g4b85c207643c844618babfc04b5d3111">oxs_axiom_get_first_child_node_by_name</a> (const axutil_env_t *env, axiom_node_t *parent, axis2_char_t *local_name, axis2_char_t *ns_uri, axis2_char_t *prefix)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_char_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g0cc1ab6ea2ca78e35c281991674508b0">oxs_axiom_get_node_content</a> (const axutil_env_t *env, axiom_node_t *node)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#ga7d645a46cb5aef9998cb472551ccd6b">oxs_axiom_deserialize_node</a> (const axutil_env_t *env, axis2_char_t *buffer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_bool_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#ga39a1e3a991d5e1c7ff12494a0d5d0ff">oxs_axiom_check_node_name</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *name, axis2_char_t *ns)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g00a14a6d48d4d46b00444a255bc0c33c">oxs_axiom_interchange_nodes</a> (const axutil_env_t *env, axiom_node_t *node_to_move, axiom_node_t *node_before)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axis2_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g90998f7bad3120bb0db5d77778ad37e8">oxs_axiom_add_as_the_first_child</a> (const axutil_env_t *env, axiom_node_t *parent, axiom_node_t *child)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#gd2fb5d426ca6a229c809eb3748ec34e7">oxs_axiom_get_first_node_by_name_and_attr_val</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *e_name, axis2_char_t *e_ns, axis2_char_t *attr_name, axis2_char_t *attr_val, axis2_char_t *attr_ns)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#g3109b1d0831e5c2d53c0a4e508a74421">oxs_axiom_get_first_node_by_name_and_attr_val_from_xml_doc</a> (const axutil_env_t *env, axiom_node_t *node, axis2_char_t *e_name, axis2_char_t *e_ns, axis2_char_t *attr_name, axis2_char_t *attr_val, axis2_char_t *attr_ns)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">AXIS2_EXTERN axiom_node_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__oxs__axiom.html#ga8df24237e46f9ae6d440bd1a71a5312">oxs_axiom_clone_node</a> (const axutil_env_t *env, axiom_node_t *node)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g90998f7bad3120bb0db5d77778ad37e8"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_add_as_the_first_child" ref="g90998f7bad3120bb0db5d77778ad37e8" args="(const axutil_env_t *env, axiom_node_t *parent, axiom_node_t *child)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_axiom_add_as_the_first_child           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds  as the first child of  <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. Must not be null </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>parent node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>child</em>&nbsp;</td><td>child node which has to be the first child of parent </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1bd4035948efe471a6ff198a9ee36eca"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_add_attribute" ref="g1bd4035948efe471a6ff198a9ee36eca" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attribute_ns, axis2_char_t *attribute_ns_uri, axis2_char_t *attribute, axis2_char_t *value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_axiom_add_attribute           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attribute_ns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attribute_ns_uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attribute</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds an attribute to a particular node <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node where the attibute will be added </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribute_ns</em>&nbsp;</td><td>the the ns_prefix of the attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribute_ns_uri</em>&nbsp;</td><td>the uri of the attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribute</em>&nbsp;</td><td>the localname of the attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value of the attribute </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_SUCCESS on success, else AXIS2_FAILURE </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga39a1e3a991d5e1c7ff12494a0d5d0ff"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_check_node_name" ref="ga39a1e3a991d5e1c7ff12494a0d5d0ff" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *name, axis2_char_t *ns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_bool_t oxs_axiom_check_node_name           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>ns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether given node is having same name and namespace as given <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. Must not be null </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>node to be checked for name and namespace </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>local name to be checked against given node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>namespace to be checked against given node. Can be null. If null, will be omitted </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AXIS2_TRUE if given name/ns is same as in the node. AXIS2_FALSE otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga8df24237e46f9ae6d440bd1a71a5312"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_clone_node" ref="ga8df24237e46f9ae6d440bd1a71a5312" args="(const axutil_env_t *env, axiom_node_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_clone_node           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clones the given node. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. Must not be null </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>node to be cloned </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>cloned node if success. NULL otherwise </dd></dl>

</div>
</div><p>
<a class="anchor" name="ga7d645a46cb5aef9998cb472551ccd6b"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_deserialize_node" ref="ga7d645a46cb5aef9998cb472551ccd6b" args="(const axutil_env_t *env, axis2_char_t *buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_deserialize_node           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>buffer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deserialises given buffer and creates the axiom node <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. Must not be NULL </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>representation of serialised node </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>deserialised node if success. NULL otherwise. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4829906f2940b10ef351c90b9b8c029d"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_attribute_val_of_node_by_qname" ref="g4829906f2940b10ef351c90b9b8c029d" args="(const axutil_env_t *env, axiom_node_t *node, axutil_qname_t *qname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_axiom_get_attribute_val_of_node_by_qname           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axutil_qname_t *&nbsp;</td>
          <td class="paramname"> <em>qname</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Traverse thru the node and its descendents. Check if the node has a particular attribute with qname as in . Returns the attribute value. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>qname</em>&nbsp;</td><td>the qname of the attribute </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the attribute value if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="gc4d6bee25ce27811a4a1a4c4663b27e7"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_attribute_value_of_node_by_name" ref="gc4d6bee25ce27811a4a1a4c4663b27e7" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attribute_name, axis2_char_t *ns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_axiom_get_attribute_value_of_node_by_name           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attribute_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>ns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Traverse thru the node and its descendents. Check if the node has a particular attribute with name as in  and namespace as in . Returns the attribute value. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attribute_name</em>&nbsp;</td><td>the attribute name of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>namespace of the attribute </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the attribute value if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4b85c207643c844618babfc04b5d3111"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_first_child_node_by_name" ref="g4b85c207643c844618babfc04b5d3111" args="(const axutil_env_t *env, axiom_node_t *parent, axis2_char_t *local_name, axis2_char_t *ns_uri, axis2_char_t *prefix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_get_first_child_node_by_name           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>local_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>ns_uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>prefix</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check the node and its children. Check if the localname is equal to the given name Note: You may pass the prefix=NULL as the prefix may be different depending on the impl <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>local_name</em>&nbsp;</td><td>the local name of the node to be searched  namespace uri of the node to be searched  prefix of the node to be searched. If NULL, node with any prefix will be considered </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd2fb5d426ca6a229c809eb3748ec34e7"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_first_node_by_name_and_attr_val" ref="gd2fb5d426ca6a229c809eb3748ec34e7" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *e_name, axis2_char_t *e_ns, axis2_char_t *attr_name, axis2_char_t *attr_val, axis2_char_t *attr_ns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_get_first_node_by_name_and_attr_val           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>e_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>e_ns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_ns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Traverse thru the node and its children. Check if the element has the given qname and has a id attribute equal to the given value. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e_name</em>&nbsp;</td><td>element name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e_ns</em>&nbsp;</td><td>element namespace. If NULL doesn't consider the namespaces </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>the attribute name of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_val</em>&nbsp;</td><td>the attribute value of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_ns</em>&nbsp;</td><td>the attribute namespace. If NULL doesn't consider namespaces. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g3109b1d0831e5c2d53c0a4e508a74421"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_first_node_by_name_and_attr_val_from_xml_doc" ref="g3109b1d0831e5c2d53c0a4e508a74421" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *e_name, axis2_char_t *e_ns, axis2_char_t *attr_name, axis2_char_t *attr_val, axis2_char_t *attr_ns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_get_first_node_by_name_and_attr_val_from_xml_doc           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>e_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>e_ns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr_ns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
First find the root of the scope node. Traverse thru the root node and its children. Check if the element has the given qname and has a attribute equal to the given values. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e_name</em>&nbsp;</td><td>element name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>e_ns</em>&nbsp;</td><td>element namespace. If NULL doesn't consider the namespaces </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_name</em>&nbsp;</td><td>the attribute name of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_val</em>&nbsp;</td><td>the attribute value of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr_ns</em>&nbsp;</td><td>the attribute namespace. If NULL doesn't consider namespaces. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1256956c073f0366d79a42d7df8c27be"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_node_by_id" ref="g1256956c073f0366d79a42d7df8c27be" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *attr, axis2_char_t *val, axis2_char_t *ns)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_get_node_by_id           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>attr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>ns</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Traverse thru the node and its descendents. Check if the node has a particular attibure value, whose attribute name as in  and value as in  <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>the attribute name of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>the attribute value of the node </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ns</em>&nbsp;</td><td>namespace of the attribute </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g4d407950fbcbe08ced690f1f2479f981"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_node_by_local_name" ref="g4d407950fbcbe08ced690f1f2479f981" args="(const axutil_env_t *env, axiom_node_t *node, axis2_char_t *local_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axiom_node_t* oxs_axiom_get_node_by_local_name           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>local_name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Traverse thru the node and its descendents. Check if the localname is equal to the given name <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node to be searched </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>localname</em>&nbsp;</td><td>the local name of the node to be searched </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g0cc1ab6ea2ca78e35c281991674508b0"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_node_content" ref="g0cc1ab6ea2ca78e35c281991674508b0" args="(const axutil_env_t *env, axiom_node_t *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_char_t* oxs_axiom_get_node_content           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns content of a node <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>the node whose content should be retrieved </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the content of the node if found, else NULL </dd></dl>

</div>
</div><p>
<a class="anchor" name="g65a8d5e7b77d2d2d8d69157e09818ad9"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_get_number_of_children_with_qname" ref="g65a8d5e7b77d2d2d8d69157e09818ad9" args="(const axutil_env_t *env, axiom_node_t *parent, axis2_char_t *local_name, axis2_char_t *ns_uri, axis2_char_t *prefix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN int oxs_axiom_get_number_of_children_with_qname           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>local_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>ns_uri</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axis2_char_t *&nbsp;</td>
          <td class="paramname"> <em>prefix</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finds the number of childern with given qname <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. MUST NOT be NULL, </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parent</em>&nbsp;</td><td>the root element defining start of the search </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>localname</em>&nbsp;</td><td>the local part of the qname </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ns_uri</em>&nbsp;</td><td>uri part of the qname </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>the prefix part of the qname </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the number of children found </dd></dl>

</div>
</div><p>
<a class="anchor" name="g00a14a6d48d4d46b00444a255bc0c33c"></a><!-- doxytag: member="oxs_axiom.h::oxs_axiom_interchange_nodes" ref="g00a14a6d48d4d46b00444a255bc0c33c" args="(const axutil_env_t *env, axiom_node_t *node_to_move, axiom_node_t *node_before)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AXIS2_EXTERN axis2_status_t oxs_axiom_interchange_nodes           </td>
          <td>(</td>
          <td class="paramtype">const axutil_env_t *&nbsp;</td>
          <td class="paramname"> <em>env</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node_to_move</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">axiom_node_t *&nbsp;</td>
          <td class="paramname"> <em>node_before</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
moves the given node before second node. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>Environment. Must not be null </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node_to_move</em>&nbsp;</td><td>node to be moved </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>node_before</em>&nbsp;</td><td>node_to_move will be moved before this node </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>status of the operation </dd></dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:54 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
