<refentry id="xmlsec-xmltree">
<refmeta>
<refentrytitle role="top_of_page" id="xmlsec-xmltree.top_of_page">xmltree</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>XMLSEC Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>xmltree</refname>
<refpurpose>XML tree operations.</refpurpose>
</refnamediv>

<refsynopsisdiv id="xmlsec-xmltree.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
#define             <link linkend="xmlSecNodeGetName">xmlSecNodeGetName</link>                   (node)
const <link linkend="xmlChar">xmlChar</link>*      <link linkend="xmlSecGetNodeNsHref">xmlSecGetNodeNsHref</link>                 (const <link linkend="xmlNode">xmlNodePtr</link> cur);
<link linkend="int">int</link>                 <link linkend="xmlSecCheckNodeName">xmlSecCheckNodeName</link>                 (const <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecGetNextElementNode">xmlSecGetNextElementNode</link>            (<link linkend="xmlNode">xmlNodePtr</link> cur);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecFindChild">xmlSecFindChild</link>                     (const <link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecFindParent">xmlSecFindParent</link>                    (const <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecFindNode">xmlSecFindNode</link>                      (const <link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecAddChild">xmlSecAddChild</link>                      (<link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecAddChildNode">xmlSecAddChildNode</link>                  (<link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         <link linkend="xmlNode">xmlNodePtr</link> child);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecAddNextSibling">xmlSecAddNextSibling</link>                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="xmlNodePtr">xmlNodePtr</link>          <link linkend="xmlSecAddPrevSibling">xmlSecAddPrevSibling</link>                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceNode">xmlSecReplaceNode</link>                   (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceNodeAndReturn">xmlSecReplaceNodeAndReturn</link>          (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceContent">xmlSecReplaceContent</link>                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceContentAndReturn">xmlSecReplaceContentAndReturn</link>       (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceNodeBuffer">xmlSecReplaceNodeBuffer</link>             (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *buffer,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> size);
<link linkend="int">int</link>                 <link linkend="xmlSecReplaceNodeBufferAndReturn">xmlSecReplaceNodeBufferAndReturn</link>    (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *buffer,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> size,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);
<link linkend="int">int</link>                 <link linkend="xmlSecNodeEncodeAndSetContent">xmlSecNodeEncodeAndSetContent</link>       (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *buffer);
<link linkend="void">void</link>                <link linkend="xmlSecAddIDs">xmlSecAddIDs</link>                        (<link linkend="xmlDoc">xmlDocPtr</link> doc,
                                                         <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> **ids);
<link linkend="int">int</link>                 <link linkend="xmlSecGenerateAndAddID">xmlSecGenerateAndAddID</link>              (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         const <link linkend="xmlChar">xmlChar</link> *prefix,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> len);
<link linkend="xmlChar">xmlChar</link>*            <link linkend="xmlSecGenerateID">xmlSecGenerateID</link>                    (const <link linkend="xmlChar">xmlChar</link> *prefix,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> len);
<link linkend="xmlDoc">xmlDocPtr</link>           <link linkend="xmlSecCreateTree">xmlSecCreateTree</link>                    (const <link linkend="xmlChar">xmlChar</link> *rootNodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *rootNodeNs);
<link linkend="int">int</link>                 <link linkend="xmlSecIsEmptyNode">xmlSecIsEmptyNode</link>                   (<link linkend="xmlNode">xmlNodePtr</link> node);
<link linkend="int">int</link>                 <link linkend="xmlSecIsEmptyString">xmlSecIsEmptyString</link>                 (const <link linkend="xmlChar">xmlChar</link> *str);
<link linkend="xmlChar">xmlChar</link>*            <link linkend="xmlSecGetQName">xmlSecGetQName</link>                      (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *href,
                                                         const <link linkend="xmlChar">xmlChar</link> *local);
<link linkend="int">int</link>                 <link linkend="xmlSecPrintXmlString">xmlSecPrintXmlString</link>                (<link linkend="FILE--CAPS">FILE</link> *fd,
                                                         const <link linkend="xmlChar">xmlChar</link> *str);
#define             <link linkend="xmlSecIsHex">xmlSecIsHex</link>                         (c)
#define             <link linkend="xmlSecGetHex">xmlSecGetHex</link>                        (c)
struct              <link linkend="xmlSecQName2IntegerInfo">xmlSecQName2IntegerInfo</link>;
typedef             <link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link>;
<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link>  <link linkend="xmlSecQName2IntegerGetInfo">xmlSecQName2IntegerGetInfo</link>
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerGetInteger">xmlSecQName2IntegerGetInteger</link>       (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameHref,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameLocalPart,
                                                         <link linkend="int">int</link> *intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerGetIntegerFromString">xmlSecQName2IntegerGetIntegerFromString</link>
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *qname,
                                                         <link linkend="int">int</link> *intValue);
<link linkend="xmlChar">xmlChar</link> *           <link linkend="xmlSecQName2IntegerGetStringFromInteger">xmlSecQName2IntegerGetStringFromInteger</link>
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="int">int</link> intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerNodeRead">xmlSecQName2IntegerNodeRead</link>         (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="int">int</link> *intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerNodeWrite">xmlSecQName2IntegerNodeWrite</link>        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="int">int</link> intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerAttributeRead">xmlSecQName2IntegerAttributeRead</link>    (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         <link linkend="int">int</link> *intValue);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2IntegerAttributeWrite">xmlSecQName2IntegerAttributeWrite</link>   (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         <link linkend="int">int</link> intValue);
<link linkend="void">void</link>                <link linkend="xmlSecQName2IntegerDebugDump">xmlSecQName2IntegerDebugDump</link>        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);
<link linkend="void">void</link>                <link linkend="xmlSecQName2IntegerDebugXmlDump">xmlSecQName2IntegerDebugXmlDump</link>     (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);
typedef             <link linkend="xmlSecBitMask">xmlSecBitMask</link>;
struct              <link linkend="xmlSecQName2BitMaskInfo">xmlSecQName2BitMaskInfo</link>;
typedef             <link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link>;
<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link>  <link linkend="xmlSecQName2BitMaskGetInfo">xmlSecQName2BitMaskGetInfo</link>
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2BitMaskGetBitMask">xmlSecQName2BitMaskGetBitMask</link>       (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameLocalPart,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameHref,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2BitMaskNodesRead">xmlSecQName2BitMaskNodesRead</link>        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="int">int</link> stopOnUnknown,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2BitMaskGetBitMaskFromString">xmlSecQName2BitMaskGetBitMaskFromString</link>
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *qname,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);
<link linkend="xmlChar">xmlChar</link> *           <link linkend="xmlSecQName2BitMaskGetStringFromBitMask">xmlSecQName2BitMaskGetStringFromBitMask</link>
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);
<link linkend="int">int</link>                 <link linkend="xmlSecQName2BitMaskNodesWrite">xmlSecQName2BitMaskNodesWrite</link>       (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);
<link linkend="void">void</link>                <link linkend="xmlSecQName2BitMaskDebugDump">xmlSecQName2BitMaskDebugDump</link>        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);
<link linkend="void">void</link>                <link linkend="xmlSecQName2BitMaskDebugXmlDump">xmlSecQName2BitMaskDebugXmlDump</link>     (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);
</synopsis>
</refsynopsisdiv>









<refsect1 id="xmlsec-xmltree.description" role="desc">
<title role="desc.title">Description</title>
<para>
XML tree operations.
</para>
</refsect1>

<refsect1 id="xmlsec-xmltree.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="xmlSecNodeGetName" role="macro">
<title>xmlSecNodeGetName()</title>
<indexterm zone="xmlSecNodeGetName"><primary sortas="xmlSecNodeGetName">xmlSecNodeGetName</primary></indexterm><programlisting>#define             xmlSecNodeGetName(node)</programlisting>
<para>
Macro. Returns node's name.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGetNodeNsHref" role="function">
<title>xmlSecGetNodeNsHref ()</title>
<indexterm zone="xmlSecGetNodeNsHref"><primary sortas="xmlSecGetNodeNsHref">xmlSecGetNodeNsHref</primary></indexterm><programlisting>const <link linkend="xmlChar">xmlChar</link>*      xmlSecGetNodeNsHref                 (const <link linkend="xmlNode">xmlNodePtr</link> cur);</programlisting>
<para>
Get's node's namespace href.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cur</parameter>&#160;:</term>
<listitem><simpara>                the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> node's namespace href.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCheckNodeName" role="function">
<title>xmlSecCheckNodeName ()</title>
<indexterm zone="xmlSecCheckNodeName"><primary sortas="xmlSecCheckNodeName">xmlSecCheckNodeName</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecCheckNodeName                 (const <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Checks that the node has a given name and a given namespace href.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cur</parameter>&#160;:</term>
<listitem><simpara>                the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the name,
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the namespace href.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 1 if the node matches or 0 otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGetNextElementNode" role="function">
<title>xmlSecGetNextElementNode ()</title>
<indexterm zone="xmlSecGetNextElementNode"><primary sortas="xmlSecGetNextElementNode">xmlSecGetNextElementNode</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecGetNextElementNode            (<link linkend="xmlNode">xmlNodePtr</link> cur);</programlisting>
<para>
Seraches for the next element node.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cur</parameter>&#160;:</term>
<listitem><simpara>                the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to next element node or NULL if it is not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecFindChild" role="function">
<title>xmlSecFindChild ()</title>
<indexterm zone="xmlSecFindChild"><primary sortas="xmlSecFindChild">xmlSecFindChild</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecFindChild                     (const <link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Searches a direct child of the <parameter>parent</parameter> node having given name and
namespace href.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>parent</parameter>&#160;:</term>
<listitem><simpara>             the pointer to XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the namespace href (may be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to the found node or NULL if an error occurs or
node is not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecFindParent" role="function">
<title>xmlSecFindParent ()</title>
<indexterm zone="xmlSecFindParent"><primary sortas="xmlSecFindParent">xmlSecFindParent</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecFindParent                    (const <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Searches the ancestors axis of the <parameter>cur</parameter> node for a node having given name
and namespace href.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>cur</parameter>&#160;:</term>
<listitem><simpara>                the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the namespace href (may be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to the found node or NULL if an error occurs or
node is not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecFindNode" role="function">
<title>xmlSecFindNode ()</title>
<indexterm zone="xmlSecFindNode"><primary sortas="xmlSecFindNode">xmlSecFindNode</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecFindNode                      (const <link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Searches all children of the <parameter>parent</parameter> node having given name and
namespace href.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>parent</parameter>&#160;:</term>
<listitem><simpara>             the pointer to XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the namespace href (may be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the pointer to the found node or NULL if an error occurs or
node is not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecAddChild" role="function">
<title>xmlSecAddChild ()</title>
<indexterm zone="xmlSecAddChild"><primary sortas="xmlSecAddChild">xmlSecAddChild</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecAddChild                      (<link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Adds a child to the node <parameter>parent</parameter> with given <parameter>name</parameter> and namespace <parameter>ns</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>parent</parameter>&#160;:</term>
<listitem><simpara>             the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the new node name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the new node namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the new node or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecAddChildNode" role="function">
<title>xmlSecAddChildNode ()</title>
<indexterm zone="xmlSecAddChildNode"><primary sortas="xmlSecAddChildNode">xmlSecAddChildNode</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecAddChildNode                  (<link linkend="xmlNode">xmlNodePtr</link> parent,
                                                         <link linkend="xmlNode">xmlNodePtr</link> child);</programlisting>
<para>
Adds <parameter>child</parameter> node to the <parameter>parent</parameter> node.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>parent</parameter>&#160;:</term>
<listitem><simpara>             the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child</parameter>&#160;:</term>
<listitem><simpara>              the new node.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the new node or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecAddNextSibling" role="function">
<title>xmlSecAddNextSibling ()</title>
<indexterm zone="xmlSecAddNextSibling"><primary sortas="xmlSecAddNextSibling">xmlSecAddNextSibling</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecAddNextSibling                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Adds next sibling to the node <parameter>node</parameter> with given <parameter>name</parameter> and namespace <parameter>ns</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the new node name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the new node namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the new node or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecAddPrevSibling" role="function">
<title>xmlSecAddPrevSibling ()</title>
<indexterm zone="xmlSecAddPrevSibling"><primary sortas="xmlSecAddPrevSibling">xmlSecAddPrevSibling</primary></indexterm><programlisting><link linkend="xmlNodePtr">xmlNodePtr</link>          xmlSecAddPrevSibling                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         const <link linkend="xmlChar">xmlChar</link> *ns);</programlisting>
<para>
Adds prev sibling to the node <parameter>node</parameter> with given <parameter>name</parameter> and namespace <parameter>ns</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the new node name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ns</parameter>&#160;:</term>
<listitem><simpara>                 the new node namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the new node or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceNode" role="function">
<title>xmlSecReplaceNode ()</title>
<indexterm zone="xmlSecReplaceNode"><primary sortas="xmlSecReplaceNode">xmlSecReplaceNode</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceNode                   (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode);</programlisting>
<para>
Swaps the <parameter>node</parameter> and <parameter>newNode</parameter> in the XML tree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newNode</parameter>&#160;:</term>
<listitem><simpara>            the new node.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceNodeAndReturn" role="function">
<title>xmlSecReplaceNodeAndReturn ()</title>
<indexterm zone="xmlSecReplaceNodeAndReturn"><primary sortas="xmlSecReplaceNodeAndReturn">xmlSecReplaceNodeAndReturn</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceNodeAndReturn          (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);</programlisting>
<para>
Swaps the <parameter>node</parameter> and <parameter>newNode</parameter> in the XML tree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newNode</parameter>&#160;:</term>
<listitem><simpara>            the new node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>replaced</parameter>&#160;:</term>
<listitem><simpara>           the replaced node, or release it if NULL is given
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceContent" role="function">
<title>xmlSecReplaceContent ()</title>
<indexterm zone="xmlSecReplaceContent"><primary sortas="xmlSecReplaceContent">xmlSecReplaceContent</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceContent                (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode);</programlisting>
<para>
Swaps the content of <parameter>node</parameter> and <parameter>newNode</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newNode</parameter>&#160;:</term>
<listitem><simpara>            the new node.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceContentAndReturn" role="function">
<title>xmlSecReplaceContentAndReturn ()</title>
<indexterm zone="xmlSecReplaceContentAndReturn"><primary sortas="xmlSecReplaceContentAndReturn">xmlSecReplaceContentAndReturn</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceContentAndReturn       (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlNode">xmlNodePtr</link> newNode,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);</programlisting>
<para>
Swaps the content of <parameter>node</parameter> and <parameter>newNode</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>newNode</parameter>&#160;:</term>
<listitem><simpara>            the new node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>replaced</parameter>&#160;:</term>
<listitem><simpara>           the replaced nodes, or release them if NULL is given
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceNodeBuffer" role="function">
<title>xmlSecReplaceNodeBuffer ()</title>
<indexterm zone="xmlSecReplaceNodeBuffer"><primary sortas="xmlSecReplaceNodeBuffer">xmlSecReplaceNodeBuffer</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceNodeBuffer             (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *buffer,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> size);</programlisting>
<para>
Swaps the <parameter>node</parameter> and the parsed XML data from the <parameter>buffer</parameter> in the XML tree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buffer</parameter>&#160;:</term>
<listitem><simpara>             the XML data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&#160;:</term>
<listitem><simpara>               the XML data size.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecReplaceNodeBufferAndReturn" role="function">
<title>xmlSecReplaceNodeBufferAndReturn ()</title>
<indexterm zone="xmlSecReplaceNodeBufferAndReturn"><primary sortas="xmlSecReplaceNodeBufferAndReturn">xmlSecReplaceNodeBufferAndReturn</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecReplaceNodeBufferAndReturn    (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlSecByte">xmlSecByte</link> *buffer,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> size,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *replaced);</programlisting>
<para>
Swaps the <parameter>node</parameter> and the parsed XML data from the <parameter>buffer</parameter> in the XML tree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the current node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buffer</parameter>&#160;:</term>
<listitem><simpara>             the XML data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&#160;:</term>
<listitem><simpara>               the XML data size.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>replaced</parameter>&#160;:</term>
<listitem><simpara>           the replaced nodes, or release them if NULL is given
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecNodeEncodeAndSetContent" role="function">
<title>xmlSecNodeEncodeAndSetContent ()</title>
<indexterm zone="xmlSecNodeEncodeAndSetContent"><primary sortas="xmlSecNodeEncodeAndSetContent">xmlSecNodeEncodeAndSetContent</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecNodeEncodeAndSetContent       (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *buffer);</programlisting>
<para>
Encodes "special" characters in the <parameter>buffer</parameter> and sets the result
as the node content.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>                   the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>buffer</parameter>&#160;:</term>
<listitem><simpara>             the pointer to the node content.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecAddIDs" role="function">
<title>xmlSecAddIDs ()</title>
<indexterm zone="xmlSecAddIDs"><primary sortas="xmlSecAddIDs">xmlSecAddIDs</primary></indexterm><programlisting><link linkend="void">void</link>                xmlSecAddIDs                        (<link linkend="xmlDoc">xmlDocPtr</link> doc,
                                                         <link linkend="xmlNode">xmlNodePtr</link> cur,
                                                         const <link linkend="xmlChar">xmlChar</link> **ids);</programlisting>
<para>
Walks thru all children of the <parameter>cur</parameter> node and adds all attributes
from the <parameter>ids</parameter> list to the <parameter>doc</parameter> document IDs attributes hash.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>doc</parameter>&#160;:</term>
<listitem><simpara>                the pointer to an XML document.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cur</parameter>&#160;:</term>
<listitem><simpara>                the pointer to an XML node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ids</parameter>&#160;:</term>
<listitem><simpara>                the pointer to a NULL terminated list of ID attributes.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGenerateAndAddID" role="function">
<title>xmlSecGenerateAndAddID ()</title>
<indexterm zone="xmlSecGenerateAndAddID"><primary sortas="xmlSecGenerateAndAddID">xmlSecGenerateAndAddID</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecGenerateAndAddID              (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         const <link linkend="xmlChar">xmlChar</link> *prefix,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> len);</programlisting>
<para>
Generates a unique ID in the format &lt;<parameter>prefix</parameter>&gt;base64-encoded(<parameter>len</parameter> random bytes)
and puts it in the attribute <parameter>attrName</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>                       the node to ID attr to.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>attrName</parameter>&#160;:</term>
<listitem><simpara>                   the ID attr name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>prefix</parameter>&#160;:</term>
<listitem><simpara>                     the prefix to add to the generated ID (can be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&#160;:</term>
<listitem><simpara>                        the length of ID.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGenerateID" role="function">
<title>xmlSecGenerateID ()</title>
<indexterm zone="xmlSecGenerateID"><primary sortas="xmlSecGenerateID">xmlSecGenerateID</primary></indexterm><programlisting><link linkend="xmlChar">xmlChar</link>*            xmlSecGenerateID                    (const <link linkend="xmlChar">xmlChar</link> *prefix,
                                                         <link linkend="xmlSecSize">xmlSecSize</link> len);</programlisting>
<para>
Generates a unique ID in the format &lt;<parameter>prefix</parameter>&gt;base64-encoded(<parameter>len</parameter> random bytes).
The caller is responsible for freeing returned string using <parameter>xmlFree</parameter> function.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>prefix</parameter>&#160;:</term>
<listitem><simpara>                     the prefix to add to the generated ID (can be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&#160;:</term>
<listitem><simpara>                        the length of ID.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to generated ID string or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecCreateTree" role="function">
<title>xmlSecCreateTree ()</title>
<indexterm zone="xmlSecCreateTree"><primary sortas="xmlSecCreateTree">xmlSecCreateTree</primary></indexterm><programlisting><link linkend="xmlDoc">xmlDocPtr</link>           xmlSecCreateTree                    (const <link linkend="xmlChar">xmlChar</link> *rootNodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *rootNodeNs);</programlisting>
<para>
Creates a new XML tree with one root node <parameter>rootNodeName</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>rootNodeName</parameter>&#160;:</term>
<listitem><simpara>       the root node name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rootNodeNs</parameter>&#160;:</term>
<listitem><simpara>         the root node namespace (otpional).
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the newly created tree or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecIsEmptyNode" role="function">
<title>xmlSecIsEmptyNode ()</title>
<indexterm zone="xmlSecIsEmptyNode"><primary sortas="xmlSecIsEmptyNode">xmlSecIsEmptyNode</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecIsEmptyNode                   (<link linkend="xmlNode">xmlNodePtr</link> node);</programlisting>
<para>
Checks whethere the <parameter>node</parameter> is empty (i.e. has only whitespaces children).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the node to check
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 1 if <parameter>node</parameter> is empty, 0 otherwise or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecIsEmptyString" role="function">
<title>xmlSecIsEmptyString ()</title>
<indexterm zone="xmlSecIsEmptyString"><primary sortas="xmlSecIsEmptyString">xmlSecIsEmptyString</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecIsEmptyString                 (const <link linkend="xmlChar">xmlChar</link> *str);</programlisting>
<para>
Checks whethere the <parameter>str</parameter> is empty (i.e. has only whitespaces children).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>str</parameter>&#160;:</term>
<listitem><simpara>                the string to check
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 1 if <parameter>str</parameter> is empty, 0 otherwise or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGetQName" role="function">
<title>xmlSecGetQName ()</title>
<indexterm zone="xmlSecGetQName"><primary sortas="xmlSecGetQName">xmlSecGetQName</primary></indexterm><programlisting><link linkend="xmlChar">xmlChar</link>*            xmlSecGetQName                      (<link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *href,
                                                         const <link linkend="xmlChar">xmlChar</link> *local);</programlisting>
<para>
Creates QName (prefix:local) from <parameter>href</parameter> and <parameter>local</parameter> in the context of the <parameter>node</parameter>.
Caller is responsible for freeing returned string with xmlFree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the context node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>href</parameter>&#160;:</term>
<listitem><simpara>               the QName href (can be NULL).
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>local</parameter>&#160;:</term>
<listitem><simpara>              the QName local part.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> qname or NULL if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecPrintXmlString" role="function">
<title>xmlSecPrintXmlString ()</title>
<indexterm zone="xmlSecPrintXmlString"><primary sortas="xmlSecPrintXmlString">xmlSecPrintXmlString</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecPrintXmlString                (<link linkend="FILE--CAPS">FILE</link> *fd,
                                                         const <link linkend="xmlChar">xmlChar</link> *str);</programlisting>
<para>
Encodes the <parameter>str</parameter> (e.g. replaces '&amp;' with '&amp;amp;') and writes it to <parameter>fd</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>fd</parameter>&#160;:</term>
<listitem><simpara>                the file descriptor to write the XML string to
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>str</parameter>&#160;:</term>
<listitem><simpara>               the string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> he number of bytes transmitted or a negative value if an error occurs.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecIsHex" role="macro">
<title>xmlSecIsHex()</title>
<indexterm zone="xmlSecIsHex"><primary sortas="xmlSecIsHex">xmlSecIsHex</primary></indexterm><programlisting>#define             xmlSecIsHex(c)</programlisting>
<para>
Macro. Returns 1 if <parameter>c</parameter> is a hex digit or 0 other wise.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>c</parameter>&#160;:</term>
<listitem><simpara>                  the character.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecGetHex" role="macro">
<title>xmlSecGetHex()</title>
<indexterm zone="xmlSecGetHex"><primary sortas="xmlSecGetHex">xmlSecGetHex</primary></indexterm><programlisting>#define             xmlSecGetHex(c)</programlisting>
<para>
Macro. Returns the hex value of the <parameter>c</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>c</parameter>&#160;:</term>
<listitem><simpara>                  the character,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerInfo" role="struct">
<title>struct xmlSecQName2IntegerInfo</title>
<indexterm zone="xmlSecQName2IntegerInfo"><primary sortas="xmlSecQName2IntegerInfo">xmlSecQName2IntegerInfo</primary></indexterm><programlisting>struct xmlSecQName2IntegerInfo {
    const xmlChar*      qnameHref;
    const xmlChar*      qnameLocalPart;
    int                 intValue;
};
</programlisting>
<para>
QName &lt;-&gt; Integer conversion definition.</para>
<para>
</para><variablelist role="struct">
<varlistentry>
<term>const&#160;<link linkend="xmlChar">xmlChar</link>&#160;*<structfield>qnameHref</structfield>;</term>
<listitem><simpara>          the QName href
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&#160;<link linkend="xmlChar">xmlChar</link>&#160;*<structfield>qnameLocalPart</structfield>;</term>
<listitem><simpara>     the QName local
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="int">int</link>&#160;<structfield>intValue</structfield>;</term>
<listitem><simpara>           the integer value
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerInfoConstPtr" role="typedef">
<title>xmlSecQName2IntegerInfoConstPtr</title>
<indexterm zone="xmlSecQName2IntegerInfoConstPtr"><primary sortas="xmlSecQName2IntegerInfoConstPtr">xmlSecQName2IntegerInfoConstPtr</primary></indexterm><programlisting>typedef const xmlSecQName2IntegerInfo *         xmlSecQName2IntegerInfoConstPtr;
</programlisting>
<para>
Pointer to constant QName &lt;-&gt; Integer conversion definition.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecQName2IntegerGetInfo" role="function">
<title>xmlSecQName2IntegerGetInfo ()</title>
<indexterm zone="xmlSecQName2IntegerGetInfo"><primary sortas="xmlSecQName2IntegerGetInfo">xmlSecQName2IntegerGetInfo</primary></indexterm><programlisting><link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link>  xmlSecQName2IntegerGetInfo
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue);</programlisting>
<para>
Maps integer <parameter>intValue</parameter> to a QName prefix.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the QName info that is mapped to <parameter>intValue</parameter> or NULL if such value
is not found.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerGetInteger" role="function">
<title>xmlSecQName2IntegerGetInteger ()</title>
<indexterm zone="xmlSecQName2IntegerGetInteger"><primary sortas="xmlSecQName2IntegerGetInteger">xmlSecQName2IntegerGetInteger</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerGetInteger       (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameHref,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameLocalPart,
                                                         <link linkend="int">int</link> *intValue);</programlisting>
<para>
Maps qname qname to an integer and returns it in <parameter>intValue</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qnameHref</parameter>&#160;:</term>
<listitem><simpara>          the qname href value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qnameLocalPart</parameter>&#160;:</term>
<listitem><simpara>     the qname local part value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the pointer to result integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerGetIntegerFromString" role="function">
<title>xmlSecQName2IntegerGetIntegerFromString ()</title>
<indexterm zone="xmlSecQName2IntegerGetIntegerFromString"><primary sortas="xmlSecQName2IntegerGetIntegerFromString">xmlSecQName2IntegerGetIntegerFromString</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerGetIntegerFromString
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *qname,
                                                         <link linkend="int">int</link> *intValue);</programlisting>
<para>
Converts <parameter>qname</parameter> into integer in context of <parameter>node</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qname</parameter>&#160;:</term>
<listitem><simpara>              the qname string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the pointer to result integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerGetStringFromInteger" role="function">
<title>xmlSecQName2IntegerGetStringFromInteger ()</title>
<indexterm zone="xmlSecQName2IntegerGetStringFromInteger"><primary sortas="xmlSecQName2IntegerGetStringFromInteger">xmlSecQName2IntegerGetStringFromInteger</primary></indexterm><programlisting><link linkend="xmlChar">xmlChar</link> *           xmlSecQName2IntegerGetStringFromInteger
                                                        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="int">int</link> intValue);</programlisting>
<para>
Creates qname string for <parameter>intValue</parameter> in context of given <parameter>node</parameter>. Caller
is responsible for freeing returned string with <parameter>xmlFree</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to newly allocated string on success or NULL if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerNodeRead" role="function">
<title>xmlSecQName2IntegerNodeRead ()</title>
<indexterm zone="xmlSecQName2IntegerNodeRead"><primary sortas="xmlSecQName2IntegerNodeRead">xmlSecQName2IntegerNodeRead</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerNodeRead         (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="int">int</link> *intValue);</programlisting>
<para>
Reads the content of <parameter>node</parameter> and converts it to an integer using mapping
from <parameter>info</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the pointer to result integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerNodeWrite" role="function">
<title>xmlSecQName2IntegerNodeWrite ()</title>
<indexterm zone="xmlSecQName2IntegerNodeWrite"><primary sortas="xmlSecQName2IntegerNodeWrite">xmlSecQName2IntegerNodeWrite</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerNodeWrite        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="int">int</link> intValue);</programlisting>
<para>
Creates new child node in <parameter>node</parameter> and sets its value to <parameter>intValue</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the parent node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeName</parameter>&#160;:</term>
<listitem><simpara>           the child node name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeNs</parameter>&#160;:</term>
<listitem><simpara>             the child node namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerAttributeRead" role="function">
<title>xmlSecQName2IntegerAttributeRead ()</title>
<indexterm zone="xmlSecQName2IntegerAttributeRead"><primary sortas="xmlSecQName2IntegerAttributeRead">xmlSecQName2IntegerAttributeRead</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerAttributeRead    (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         <link linkend="int">int</link> *intValue);</programlisting>
<para>
Gets the value of <parameter>attrName</parameter> atrtibute from <parameter>node</parameter> and converts it to integer
according to <parameter>info</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the element node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>attrName</parameter>&#160;:</term>
<listitem><simpara>           the attribute name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the pointer to result integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerAttributeWrite" role="function">
<title>xmlSecQName2IntegerAttributeWrite ()</title>
<indexterm zone="xmlSecQName2IntegerAttributeWrite"><primary sortas="xmlSecQName2IntegerAttributeWrite">xmlSecQName2IntegerAttributeWrite</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2IntegerAttributeWrite   (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *attrName,
                                                         <link linkend="int">int</link> intValue);</programlisting>
<para>
Converts <parameter>intValue</parameter> to a qname and sets it to the value of
attribute <parameter>attrName</parameter> in <parameter>node</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the parent node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>attrName</parameter>&#160;:</term>
<listitem><simpara>           the name of attribute.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerDebugDump" role="function">
<title>xmlSecQName2IntegerDebugDump ()</title>
<indexterm zone="xmlSecQName2IntegerDebugDump"><primary sortas="xmlSecQName2IntegerDebugDump">xmlSecQName2IntegerDebugDump</primary></indexterm><programlisting><link linkend="void">void</link>                xmlSecQName2IntegerDebugDump        (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);</programlisting>
<para>
Prints <parameter>intValue</parameter> into <parameter>output</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the value name to print.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>output</parameter>&#160;:</term>
<listitem><simpara>             the pointer to output FILE.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2IntegerDebugXmlDump" role="function">
<title>xmlSecQName2IntegerDebugXmlDump ()</title>
<indexterm zone="xmlSecQName2IntegerDebugXmlDump"><primary sortas="xmlSecQName2IntegerDebugXmlDump">xmlSecQName2IntegerDebugXmlDump</primary></indexterm><programlisting><link linkend="void">void</link>                xmlSecQName2IntegerDebugXmlDump     (<link linkend="xmlSecQName2IntegerInfoConst">xmlSecQName2IntegerInfoConstPtr</link> info,
                                                         <link linkend="int">int</link> intValue,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);</programlisting>
<para>
Prints <parameter>intValue</parameter> into <parameter>output</parameter> in XML format.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>intValue</parameter>&#160;:</term>
<listitem><simpara>           the integer value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the value name to print.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>output</parameter>&#160;:</term>
<listitem><simpara>             the pointer to output FILE.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecBitMask" role="typedef">
<title>xmlSecBitMask</title>
<indexterm zone="xmlSecBitMask"><primary sortas="xmlSecBitMask">xmlSecBitMask</primary></indexterm><programlisting>typedef unsigned int                                    xmlSecBitMask;
</programlisting>
<para>
Bitmask datatype.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecQName2BitMaskInfo" role="struct">
<title>struct xmlSecQName2BitMaskInfo</title>
<indexterm zone="xmlSecQName2BitMaskInfo"><primary sortas="xmlSecQName2BitMaskInfo">xmlSecQName2BitMaskInfo</primary></indexterm><programlisting>struct xmlSecQName2BitMaskInfo {
    const xmlChar*      qnameHref;
    const xmlChar*      qnameLocalPart;
    xmlSecBitMask       mask;
};
</programlisting>
<para>
QName &lt;-&gt; Bitmask conversion definition.</para>
<para>
</para><variablelist role="struct">
<varlistentry>
<term>const&#160;<link linkend="xmlChar">xmlChar</link>&#160;*<structfield>qnameHref</structfield>;</term>
<listitem><simpara>          the QName href
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>const&#160;<link linkend="xmlChar">xmlChar</link>&#160;*<structfield>qnameLocalPart</structfield>;</term>
<listitem><simpara>     the QName local
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="xmlSecBitMask">xmlSecBitMask</link>&#160;<structfield>mask</structfield>;</term>
<listitem><simpara>               the bitmask value
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskInfoConstPtr" role="typedef">
<title>xmlSecQName2BitMaskInfoConstPtr</title>
<indexterm zone="xmlSecQName2BitMaskInfoConstPtr"><primary sortas="xmlSecQName2BitMaskInfoConstPtr">xmlSecQName2BitMaskInfoConstPtr</primary></indexterm><programlisting>typedef const xmlSecQName2BitMaskInfo*          xmlSecQName2BitMaskInfoConstPtr;
</programlisting>
<para>
Pointer to constant QName &lt;-&gt; Bitmask conversion definition.</para>
<para>
</para></refsect2>
<refsect2 id="xmlSecQName2BitMaskGetInfo" role="function">
<title>xmlSecQName2BitMaskGetInfo ()</title>
<indexterm zone="xmlSecQName2BitMaskGetInfo"><primary sortas="xmlSecQName2BitMaskGetInfo">xmlSecQName2BitMaskGetInfo</primary></indexterm><programlisting><link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link>  xmlSecQName2BitMaskGetInfo
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);</programlisting>
<para>
Converts <parameter>mask</parameter> to qname.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the bit mask.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the qname info for <parameter>mask</parameter> or NULL if mask is unknown.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskGetBitMask" role="function">
<title>xmlSecQName2BitMaskGetBitMask ()</title>
<indexterm zone="xmlSecQName2BitMaskGetBitMask"><primary sortas="xmlSecQName2BitMaskGetBitMask">xmlSecQName2BitMaskGetBitMask</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2BitMaskGetBitMask       (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameLocalPart,
                                                         const <link linkend="xmlChar">xmlChar</link> *qnameHref,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);</programlisting>
<para>
Converts <parameter>qnameLocalPart</parameter> to <parameter>mask</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qnameLocalPart</parameter>&#160;:</term>
<listitem><simpara>     the qname LocalPart value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qnameHref</parameter>&#160;:</term>
<listitem><simpara>          the qname Href value.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the pointer to result mask.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskNodesRead" role="function">
<title>xmlSecQName2BitMaskNodesRead ()</title>
<indexterm zone="xmlSecQName2BitMaskNodesRead"><primary sortas="xmlSecQName2BitMaskNodesRead">xmlSecQName2BitMaskNodesRead</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2BitMaskNodesRead        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> *node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="int">int</link> stopOnUnknown,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);</programlisting>
<para>
Reads &lt;<parameter>nodeNs</parameter>:<parameter>nodeName</parameter>&gt; elements and puts the result bit mask
into <parameter>mask</parameter>. When function exits, <parameter>node</parameter> points to the first element node
after all the &lt;<parameter>nodeNs</parameter>:<parameter>nodeName</parameter>&gt; elements.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the start.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeName</parameter>&#160;:</term>
<listitem><simpara>           the mask nodes name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeNs</parameter>&#160;:</term>
<listitem><simpara>             the mask nodes namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stopOnUnknown</parameter>&#160;:</term>
<listitem><simpara>      if this flag is set then function exits if unknown
                     value was found.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the pointer to result mask.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskGetBitMaskFromString" role="function">
<title>xmlSecQName2BitMaskGetBitMaskFromString ()</title>
<indexterm zone="xmlSecQName2BitMaskGetBitMaskFromString"><primary sortas="xmlSecQName2BitMaskGetBitMaskFromString">xmlSecQName2BitMaskGetBitMaskFromString</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2BitMaskGetBitMaskFromString
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *qname,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> *mask);</programlisting>
<para>
Converts <parameter>qname</parameter> into integer in context of <parameter>node</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>qname</parameter>&#160;:</term>
<listitem><simpara>              the qname string.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the pointer to result msk value.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskGetStringFromBitMask" role="function">
<title>xmlSecQName2BitMaskGetStringFromBitMask ()</title>
<indexterm zone="xmlSecQName2BitMaskGetStringFromBitMask"><primary sortas="xmlSecQName2BitMaskGetStringFromBitMask">xmlSecQName2BitMaskGetStringFromBitMask</primary></indexterm><programlisting><link linkend="xmlChar">xmlChar</link> *           xmlSecQName2BitMaskGetStringFromBitMask
                                                        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);</programlisting>
<para>
Creates qname string for <parameter>mask</parameter> in context of given <parameter>node</parameter>. Caller
is responsible for freeing returned string with <parameter>xmlFree</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;integer mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the pointer to node.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the mask.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to newly allocated string on success or NULL if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskNodesWrite" role="function">
<title>xmlSecQName2BitMaskNodesWrite ()</title>
<indexterm zone="xmlSecQName2BitMaskNodesWrite"><primary sortas="xmlSecQName2BitMaskNodesWrite">xmlSecQName2BitMaskNodesWrite</primary></indexterm><programlisting><link linkend="int">int</link>                 xmlSecQName2BitMaskNodesWrite       (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlNode">xmlNodePtr</link> node,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeName,
                                                         const <link linkend="xmlChar">xmlChar</link> *nodeNs,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask);</programlisting>
<para>
Writes &lt;<parameter>nodeNs</parameter>:<parameter>nodeName</parameter>&gt; elemnts with values from <parameter>mask</parameter> to <parameter>node</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>node</parameter>&#160;:</term>
<listitem><simpara>               the parent element for mask nodes.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeName</parameter>&#160;:</term>
<listitem><simpara>           the mask nodes name.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>nodeNs</parameter>&#160;:</term>
<listitem><simpara>             the mask nodes namespace.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the bit mask.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> 0 on success or a negative value if an error occurs,
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskDebugDump" role="function">
<title>xmlSecQName2BitMaskDebugDump ()</title>
<indexterm zone="xmlSecQName2BitMaskDebugDump"><primary sortas="xmlSecQName2BitMaskDebugDump">xmlSecQName2BitMaskDebugDump</primary></indexterm><programlisting><link linkend="void">void</link>                xmlSecQName2BitMaskDebugDump        (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);</programlisting>
<para>
Prints debug information about <parameter>mask</parameter> to <parameter>output</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the bit mask.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the value name to print.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>output</parameter>&#160;:</term>
<listitem><simpara>             the pointer to output FILE.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="xmlSecQName2BitMaskDebugXmlDump" role="function">
<title>xmlSecQName2BitMaskDebugXmlDump ()</title>
<indexterm zone="xmlSecQName2BitMaskDebugXmlDump"><primary sortas="xmlSecQName2BitMaskDebugXmlDump">xmlSecQName2BitMaskDebugXmlDump</primary></indexterm><programlisting><link linkend="void">void</link>                xmlSecQName2BitMaskDebugXmlDump     (<link linkend="xmlSecQName2BitMaskInfoConst">xmlSecQName2BitMaskInfoConstPtr</link> info,
                                                         <link linkend="xmlSecBitMask">xmlSecBitMask</link> mask,
                                                         const <link linkend="xmlChar">xmlChar</link> *name,
                                                         <link linkend="FILE--CAPS">FILE</link> *output);</programlisting>
<para>
Prints debug information about <parameter>mask</parameter> to <parameter>output</parameter> in XML format.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>info</parameter>&#160;:</term>
<listitem><simpara>               the qname&lt;-&gt;bit mask mapping information.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>mask</parameter>&#160;:</term>
<listitem><simpara>               the bit mask.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>               the value name to print.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>output</parameter>&#160;:</term>
<listitem><simpara>             the pointer to output FILE.
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
