xmlsec1/docs/api/xmlsec-nodeset.html

784 lines
33 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>nodeset: XML Security Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="XML Security Library Reference Manual">
<link rel="up" href="xmlsec-ref.html" title="XML Security Core Library API Reference.">
<link rel="prev" href="xmlsec-membuf.html" title="membuf">
<link rel="next" href="xmlsec-parser.html" title="parser">
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#xmlsec-nodeset.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="xmlsec-membuf.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xmlsec-parser.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="xmlsec-nodeset"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="xmlsec-nodeset.top_of_page"></a>nodeset</span></h2>
<p>nodeset — XML nodes set functions</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="xmlsec-nodeset.stability-level"></a><h2>Stability Level</h2>
<a href="http://foldoc.org/Stable"><span class="acronym">Stable</span></a>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="xmlsec-nodeset.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalkCallback" title="xmlSecNodeSetWalkCallback ()">*xmlSecNodeSetWalkCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetCreate" title="xmlSecNodeSetCreate ()">xmlSecNodeSetCreate</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDestroy" title="xmlSecNodeSetDestroy ()">xmlSecNodeSetDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDocDestroy" title="xmlSecNodeSetDocDestroy ()">xmlSecNodeSetDocDestroy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetContains" title="xmlSecNodeSetContains ()">xmlSecNodeSetContains</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAdd" title="xmlSecNodeSetAdd ()">xmlSecNodeSetAdd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetAddList" title="xmlSecNodeSetAddList ()">xmlSecNodeSetAddList</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetGetChildren" title="xmlSecNodeSetGetChildren ()">xmlSecNodeSetGetChildren</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalk" title="xmlSecNodeSetWalk ()">xmlSecNodeSetWalk</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">int</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDumpTextNodes" title="xmlSecNodeSetDumpTextNodes ()">xmlSecNodeSetDumpTextNodes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<font><span class="returnvalue">void</span></font>
</td>
<td class="function_name">
<a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDebugDump" title="xmlSecNodeSetDebugDump ()">xmlSecNodeSetDebugDump</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="xmlsec-nodeset.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType">xmlSecNodeSetType</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp">xmlSecNodeSetOp</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet">xmlSecNodeSet</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="xmlsec-nodeset.description"></a><h2>Description</h2>
<p></p>
</div>
<div class="refsect1">
<a name="xmlsec-nodeset.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="xmlSecNodeSetWalkCallback"></a><h3>xmlSecNodeSetWalkCallback ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
<span class="c_punctuation">(</span>*xmlSecNodeSetWalkCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> cur</code></em>,
<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>,
<em class="parameter"><code><font><span class="type">void</span></font> *data</code></em>);</pre>
<p>The callback function called once per each node in the nodes set.</p>
<div class="refsect3">
<a name="xmlSecNodeSetWalkCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSet</span></a> structure.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cur</p></td>
<td class="parameter_description"><p>the pointer current XML node.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>the pointer to the <em class="parameter"><code>cur</code></em>
parent node.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>the pointer to application specific data.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetWalkCallback.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs
an walk procedure should be interrupted.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetCreate"></a><h3>xmlSecNodeSetCreate ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
xmlSecNodeSetCreate (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
<em class="parameter"><code><font><span class="type">xmlNodeSetPtr</span></font> nodes</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType"><span class="type">xmlSecNodeSetType</span></a> type</code></em>);</pre>
<p>Creates new nodes set. Caller is responsible for freeing returned object
by calling <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetDestroy" title="xmlSecNodeSetDestroy ()"><span class="type">xmlSecNodeSetDestroy</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecNodeSetCreate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>doc</p></td>
<td class="parameter_description"><p>the pointer to parent XML document.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>nodes</p></td>
<td class="parameter_description"><p>the list of nodes.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>type</p></td>
<td class="parameter_description"><p>the nodes set type.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetCreate.returns"></a><h4>Returns</h4>
<p> pointer to newly allocated node set or NULL if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetDestroy"></a><h3>xmlSecNodeSetDestroy ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecNodeSetDestroy (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>);</pre>
<p>Destroys the nodes set created with <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetCreate" title="xmlSecNodeSetCreate ()"><span class="type">xmlSecNodeSetCreate</span></a> function.</p>
<div class="refsect3">
<a name="xmlSecNodeSetDestroy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetDocDestroy"></a><h3>xmlSecNodeSetDocDestroy ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecNodeSetDocDestroy (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>);</pre>
<p>Instructs node set to destroy nodes parent doc when node set is destroyed.</p>
<div class="refsect3">
<a name="xmlSecNodeSetDocDestroy.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetContains"></a><h3>xmlSecNodeSetContains ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecNodeSetContains (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> node</code></em>,
<em class="parameter"><code><font><span class="type">xmlNodePtr</span></font> parent</code></em>);</pre>
<p>Checks whether the <em class="parameter"><code>node</code></em>
is in the nodes set or not.</p>
<div class="refsect3">
<a name="xmlSecNodeSetContains.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>node</p></td>
<td class="parameter_description"><p>the pointer to XML node to check.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>the pointer to <em class="parameter"><code>node</code></em>
parent node.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetContains.returns"></a><h4>Returns</h4>
<p> 1 if the <em class="parameter"><code>node</code></em>
is in the nodes set <em class="parameter"><code>nset</code></em>
, 0 if it is not
and a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetAdd"></a><h3>xmlSecNodeSetAdd ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
xmlSecNodeSetAdd (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> newNSet</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> op</code></em>);</pre>
<p>Adds <em class="parameter"><code>newNSet</code></em>
to the <em class="parameter"><code>nset</code></em>
using operation <em class="parameter"><code>op</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecNodeSetAdd.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to current nodes set (or NULL).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>newNSet</p></td>
<td class="parameter_description"><p>the pointer to new nodes set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>op</p></td>
<td class="parameter_description"><p>the operation type.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetAdd.returns"></a><h4>Returns</h4>
<p> the pointer to combined nodes set or NULL if an error
occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetAddList"></a><h3>xmlSecNodeSetAddList ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
xmlSecNodeSetAddList (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> newNSet</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> op</code></em>);</pre>
<p>Adds <em class="parameter"><code>newNSet</code></em>
to the <em class="parameter"><code>nset</code></em>
as child using operation <em class="parameter"><code>op</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecNodeSetAddList.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to current nodes set (or NULL).</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>newNSet</p></td>
<td class="parameter_description"><p>the pointer to new nodes set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>op</p></td>
<td class="parameter_description"><p>the operation type.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetAddList.returns"></a><h4>Returns</h4>
<p> the pointer to combined nodes set or NULL if an error
occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetGetChildren"></a><h3>xmlSecNodeSetGetChildren ()</h3>
<pre class="programlisting"><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="returnvalue">xmlSecNodeSetPtr</span></a>
xmlSecNodeSetGetChildren (<em class="parameter"><code><font><span class="type">xmlDocPtr</span></font> doc</code></em>,
<em class="parameter"><code>const <font><span class="type">xmlNodePtr</span></font> parent</code></em>,
<em class="parameter"><code><font><span class="type">int</span></font> withComments</code></em>,
<em class="parameter"><code><font><span class="type">int</span></font> invert</code></em>);</pre>
<p>Creates a new nodes set that contains:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
is not 0 and <em class="parameter"><code>invert</code></em>
is 0:
all nodes in the <em class="parameter"><code>parent</code></em>
subtree;</p></li>
<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
is 0 and <em class="parameter"><code>invert</code></em>
is 0:
all nodes in the <em class="parameter"><code>parent</code></em>
subtree except comment nodes;</p></li>
<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
is not 0 and <em class="parameter"><code>invert</code></em>
not is 0:
all nodes in the <em class="parameter"><code>doc</code></em>
except nodes in the <em class="parameter"><code>parent</code></em>
subtree;</p></li>
<li class="listitem"><p>if <em class="parameter"><code>withComments</code></em>
is 0 and <em class="parameter"><code>invert</code></em>
is 0:
all nodes in the <em class="parameter"><code>doc</code></em>
except nodes in the <em class="parameter"><code>parent</code></em>
subtree
and comment nodes.</p></li>
</ul></div>
<div class="refsect3">
<a name="xmlSecNodeSetGetChildren.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>doc</p></td>
<td class="parameter_description"><p>the pointer to an XML document.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>the pointer to parent XML node or NULL if we want to include all document nodes.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>withComments</p></td>
<td class="parameter_description"><p>the flag include comments or not.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>invert</p></td>
<td class="parameter_description"><p>the "invert" flag.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetGetChildren.returns"></a><h4>Returns</h4>
<p> pointer to the newly created <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSet</span></a> structure
or NULL if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetWalk"></a><h3>xmlSecNodeSetWalk ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecNodeSetWalk (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetWalkCallback" title="xmlSecNodeSetWalkCallback ()"><span class="type">xmlSecNodeSetWalkCallback</span></a> walkFunc</code></em>,
<em class="parameter"><code><font><span class="type">void</span></font> *data</code></em>);</pre>
<p>Calls the function <em class="parameter"><code>walkFunc</code></em>
once per each node in the nodes set <em class="parameter"><code>nset</code></em>
.
If the <em class="parameter"><code>walkFunc</code></em>
returns a negative value, then the walk procedure
is interrupted.</p>
<div class="refsect3">
<a name="xmlSecNodeSetWalk.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>walkFunc</p></td>
<td class="parameter_description"><p>the callback functions.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>the application specific data passed to the <em class="parameter"><code>walkFunc</code></em>
.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetWalk.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value if an error occurs.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetDumpTextNodes"></a><h3>xmlSecNodeSetDumpTextNodes ()</h3>
<pre class="programlisting"><font><span class="returnvalue">int</span></font>
xmlSecNodeSetDumpTextNodes (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><font><span class="type">xmlOutputBufferPtr</span></font> out</code></em>);</pre>
<p>Dumps content of all the text nodes from <em class="parameter"><code>nset</code></em>
to <em class="parameter"><code>out</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecNodeSetDumpTextNodes.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>out</p></td>
<td class="parameter_description"><p>the output buffer.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xmlSecNodeSetDumpTextNodes.returns"></a><h4>Returns</h4>
<p> 0 on success or a negative value otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetDebugDump"></a><h3>xmlSecNodeSetDebugDump ()</h3>
<pre class="programlisting"><font><span class="returnvalue">void</span></font>
xmlSecNodeSetDebugDump (<em class="parameter"><code><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> nset</code></em>,
<em class="parameter"><code><font><span class="type">FILE</span></font> *output</code></em>);</pre>
<p>Prints information about <em class="parameter"><code>nset</code></em>
to the <em class="parameter"><code>output</code></em>
.</p>
<div class="refsect3">
<a name="xmlSecNodeSetDebugDump.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>nset</p></td>
<td class="parameter_description"><p>the pointer to node set.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>output</p></td>
<td class="parameter_description"><p>the pointer to output FILE.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="xmlsec-nodeset.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="xmlSecNodeSetType"></a><h3>enum xmlSecNodeSetType</h3>
<p>The basic nodes sets types.</p>
<div class="refsect3">
<a name="xmlSecNodeSetType.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetNormal"></a>xmlSecNodeSetNormal</p></td>
<td class="enum_member_description"><p>nodes set = nodes in the list.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetInvert"></a>xmlSecNodeSetInvert</p></td>
<td class="enum_member_description"><p>nodes set = all document nodes minus nodes in the list.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetTree"></a>xmlSecNodeSetTree</p></td>
<td class="enum_member_description"><p>nodes set = nodes in the list and all their subtress.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeWithoutComments"></a>xmlSecNodeSetTreeWithoutComments</p></td>
<td class="enum_member_description"><p>nodes set = nodes in the list and
all their subtress but no comment nodes.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeInvert"></a>xmlSecNodeSetTreeInvert</p></td>
<td class="enum_member_description"><p>nodes set = all document nodes minus nodes in the
list and all their subtress.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetTreeWithoutCommentsInvert"></a>xmlSecNodeSetTreeWithoutCommentsInvert</p></td>
<td class="enum_member_description"><p>nodes set = all document nodes
minus (nodes in the list and all their subtress
plus all comment nodes).</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetList"></a>xmlSecNodeSetList</p></td>
<td class="enum_member_description"><p>nodes set = all nodes in the children list of nodes sets.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSetOp"></a><h3>enum xmlSecNodeSetOp</h3>
<p>The simple nodes sets operations.</p>
<div class="refsect3">
<a name="xmlSecNodeSetOp.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetIntersection"></a>xmlSecNodeSetIntersection</p></td>
<td class="enum_member_description"><p>intersection.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetSubtraction"></a>xmlSecNodeSetSubtraction</p></td>
<td class="enum_member_description"><p>subtraction.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="xmlSecNodeSetUnion"></a>xmlSecNodeSetUnion</p></td>
<td class="enum_member_description"><p>union.</p></td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xmlSecNodeSet"></a><h3>struct xmlSecNodeSet</h3>
<pre class="programlisting">struct xmlSecNodeSet {
xmlNodeSetPtr nodes;
xmlDocPtr doc;
int destroyDoc;
xmlSecNodeSetType type;
xmlSecNodeSetOp op;
xmlSecNodeSetPtr next;
xmlSecNodeSetPtr prev;
xmlSecNodeSetPtr children;
};
</pre>
<p>The enchanced nodes set.</p>
<div class="refsect3">
<a name="xmlSecNodeSet.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><font><span class="type">xmlNodeSetPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.nodes"></a>nodes</code></em>;</p></td>
<td class="struct_member_description"><p>the nodes list.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">xmlDocPtr</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.doc"></a>doc</code></em>;</p></td>
<td class="struct_member_description"><p>the parent XML document.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><font><span class="type">int</span></font> <em class="structfield"><code><a name="xmlSecNodeSet.destroyDoc"></a>destroyDoc</code></em>;</p></td>
<td class="struct_member_description"><p>the flag: if set to 1 then <em class="parameter"><code>doc</code></em>
will
be destroyed when node set is destroyed.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetType" title="enum xmlSecNodeSetType"><span class="type">xmlSecNodeSetType</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.type"></a>type</code></em>;</p></td>
<td class="struct_member_description"><p>the nodes set type.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetOp" title="enum xmlSecNodeSetOp"><span class="type">xmlSecNodeSetOp</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.op"></a>op</code></em>;</p></td>
<td class="struct_member_description"><p>the operation type.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.next"></a>next</code></em>;</p></td>
<td class="struct_member_description"><p>the next nodes set.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.prev"></a>prev</code></em>;</p></td>
<td class="struct_member_description"><p>the previous nodes set.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a class="link" href="xmlsec-nodeset.html#xmlSecNodeSet" title="struct xmlSecNodeSet"><span class="type">xmlSecNodeSetPtr</span></a> <em class="structfield"><code><a name="xmlSecNodeSet.children"></a>children</code></em>;</p></td>
<td class="struct_member_description"><p>the children list (valid only if type
equal to <a class="link" href="xmlsec-nodeset.html#xmlSecNodeSetList"><span class="type">xmlSecNodeSetList</span></a>).</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>