3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5 <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
6 <link rel="HOME" title="XML Security Library Reference Manual" href="index.html">
7 <link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html">
8 <link rel="PREVIOUS" title="membuf" href="xmlsec-membuf.html">
9 <link rel="NEXT" title="parser" href="xmlsec-parser.html">
10 <style type="text/css">.synopsis, .classsynopsis {
12 border: solid 1px #aaaaaa;
17 border: solid 1px #aaaaff;
26 border: solid 1px #ffaaaa;
33 .navigation a:visited {
40 <body><table witdh="100%" valign="top"><tr valign="top">
41 <td valign="top" align="left" width="210">
42 <img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p>
44 <li><a href="../index.html">Home</a></li>
45 <li><a href="../download.html">Download</a></li>
46 <li><a href="../news.html">News</a></li>
47 <li><a href="../documentation.html">Documentation</a></li>
49 <li><a href="../faq.html">FAQ</a></li>
50 <li><a href="../api/xmlsec-notes.html">Tutorial</a></li>
51 <li><a href="../api/xmlsec-reference.html">API reference</a></li>
52 <li><a href="../api/xmlsec-examples.html">Examples</a></li>
54 <li><a href="../xmldsig.html">XML Digital Signature</a></li>
55 <ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul>
56 <li><a href="../xmlenc.html">XML Encryption</a></li>
57 <li><a href="../c14n.html">XML Canonicalization</a></li>
58 <li><a href="../bugs.html">Reporting Bugs</a></li>
59 <li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li>
60 <li><a href="../related.html">Related</a></li>
61 <li><a href="../authors.html">Authors</a></li>
66 <td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td>
70 <td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td>
74 <td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td>
76 <!--Links - start--><!--Links - end-->
79 <td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent">
80 <table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
81 <td><a accesskey="p" href="xmlsec-membuf.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
82 <td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
83 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
84 <th width="100%" align="center">XML Security Library Reference Manual</th>
85 <td><a accesskey="n" href="xmlsec-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
88 <a name="XMLSEC-NODESET"></a>nodeset</h1>
89 <div class="REFNAMEDIV">
90 <a name="AEN11540"></a><h2>Name</h2>nodeset -- Nodeset object implementation.</div>
91 <div class="REFSYNOPSISDIV">
92 <a name="XMLSEC-NODESET.SYNOPSIS"></a><h2>Synopsis</h2>
93 <pre class="SYNOPSIS">enum <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a>;
94 enum <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a>;
95 struct <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSet</a>;
96 <font>int</font> (<a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">*xmlSecNodeSetWalkCallback</a>) (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
97 <font>xmlNodePtr</font> cur,
98 <font>xmlNodePtr</font> parent,
99 <font>void</font> *data);
100 <font>xmlSecNodeSetPtr</font> <a href="xmlsec-nodeset.html#XMLSECNODESETCREATE">xmlSecNodeSetCreate</a> (<font>xmlDocPtr</font> doc,
101 <font>xmlNodeSetPtr</font> nodes,
102 <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a> type);
103 <font>void</font> <a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY">xmlSecNodeSetDestroy</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset);
104 <font>void</font> <a href="xmlsec-nodeset.html#XMLSECNODESETDOCDESTROY">xmlSecNodeSetDocDestroy</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset);
105 <font>int</font> <a href="xmlsec-nodeset.html#XMLSECNODESETCONTAINS">xmlSecNodeSetContains</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
106 <font>xmlNodePtr</font> node,
107 <font>xmlNodePtr</font> parent);
108 <font>xmlSecNodeSetPtr</font> <a href="xmlsec-nodeset.html#XMLSECNODESETADD">xmlSecNodeSetAdd</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
109 <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> newNSet,
110 <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a> op);
111 <font>xmlSecNodeSetPtr</font> <a href="xmlsec-nodeset.html#XMLSECNODESETADDLIST">xmlSecNodeSetAddList</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
112 <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> newNSet,
113 <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a> op);
114 <font>xmlSecNodeSetPtr</font> <a href="xmlsec-nodeset.html#XMLSECNODESETGETCHILDREN">xmlSecNodeSetGetChildren</a> (<font>xmlDocPtr</font> doc,
115 const <font>xmlNodePtr</font> parent,
116 <font>int</font> withComments,
117 <font>int</font> invert);
118 <font>int</font> <a href="xmlsec-nodeset.html#XMLSECNODESETWALK">xmlSecNodeSetWalk</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
119 <a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">xmlSecNodeSetWalkCallback</a> walkFunc,
120 <font>void</font> *data);
121 <font>int</font> <a href="xmlsec-nodeset.html#XMLSECNODESETDUMPTEXTNODES">xmlSecNodeSetDumpTextNodes</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
122 <font>xmlOutputBufferPtr</font> out);
123 <font>void</font> <a href="xmlsec-nodeset.html#XMLSECNODESETDEBUGDUMP">xmlSecNodeSetDebugDump</a> (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
124 <font>FILE</font> *output);</pre>
126 <div class="REFSECT1">
127 <a name="XMLSEC-NODESET.DESCRIPTION"></a><h2>Description</h2>
128 <p>Nodeset object implementation.</p>
130 <div class="REFSECT1">
131 <a name="XMLSEC-NODESET.DETAILS"></a><h2>Details</h2>
132 <div class="REFSECT2">
133 <a name="XMLSECNODESETTYPE"></a><h3>enum xmlSecNodeSetType</h3>
134 <pre class="PROGRAMLISTING">typedef enum {
135 xmlSecNodeSetNormal = 0,
138 xmlSecNodeSetTreeWithoutComments,
139 xmlSecNodeSetTreeInvert,
140 xmlSecNodeSetTreeWithoutCommentsInvert,
142 } xmlSecNodeSetType;</pre>
143 <p>The basic nodes sets types.</p>
146 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
148 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETNORMAL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetNormal</tt></span></a></td>
149 <td align="LEFT" valign="TOP"><p> nodes set = nodes in the list.</p></td>
152 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetInvert</tt></span></a></td>
153 <td align="LEFT" valign="TOP"><p> nodes set = all document nodes minus nodes in the list.</p></td>
156 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTree</tt></span></a></td>
157 <td align="LEFT" valign="TOP"><p> nodes set = nodes in the list and all their subtress.</p></td>
160 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEWITHOUTCOMMENTS"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeWithoutComments</tt></span></a></td>
161 <td align="LEFT" valign="TOP"><p> nodes set = nodes in the list and
162 all their subtress but no comment nodes.</p></td>
165 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeInvert</tt></span></a></td>
166 <td align="LEFT" valign="TOP"><p> nodes set = all document nodes minus nodes in the
167 list and all their subtress.</p></td>
170 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETTREEWITHOUTCOMMENTSINVERT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetTreeWithoutCommentsInvert</tt></span></a></td>
171 <td align="LEFT" valign="TOP"><p> nodes set = all document nodes
172 minus (nodes in the list and all their subtress
173 plus all comment nodes).</p></td>
176 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETLIST"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetList</tt></span></a></td>
177 <td align="LEFT" valign="TOP"><p> nodes set = all nodes in the chidren list of nodes sets.</p></td>
182 <div class="REFSECT2">
183 <a name="XMLSECNODESETOP"></a><h3>enum xmlSecNodeSetOp</h3>
184 <pre class="PROGRAMLISTING">typedef enum {
185 xmlSecNodeSetIntersection = 0,
186 xmlSecNodeSetSubtraction,
188 } xmlSecNodeSetOp;</pre>
189 <p>The simple nodes sets operations.</p>
192 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
194 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETINTERSECTION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetIntersection</tt></span></a></td>
195 <td align="LEFT" valign="TOP"><p> intersection.</p></td>
198 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETSUBTRACTION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetSubtraction</tt></span></a></td>
199 <td align="LEFT" valign="TOP"><p> subtraction.</p></td>
202 <td align="LEFT" valign="TOP"><a name="XMLSECNODESETUNION"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecNodeSetUnion</tt></span></a></td>
203 <td align="LEFT" valign="TOP"><p> union.</p></td>
208 <div class="REFSECT2">
209 <a name="XMLSECNODESET"></a><h3>struct xmlSecNodeSet</h3>
210 <pre class="PROGRAMLISTING">struct xmlSecNodeSet {
214 xmlSecNodeSetType type;
216 xmlSecNodeSetPtr next;
217 xmlSecNodeSetPtr prev;
218 xmlSecNodeSetPtr children;
220 <p>The enchanced nodes set.</p>
223 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
225 <td align="LEFT" valign="TOP"><a name="AEN11679"><span style="white-space: nowrap"><font>xmlNodeSetPtr</font> <code class="STRUCTFIELD">nodes</code>;</span></a></td>
226 <td align="LEFT" valign="TOP"><p> the nodes list.</p></td>
229 <td align="LEFT" valign="TOP"><a name="AEN11685"><span style="white-space: nowrap"><font>xmlDocPtr</font> <code class="STRUCTFIELD">doc</code>;</span></a></td>
230 <td align="LEFT" valign="TOP"><p> the parent XML document.</p></td>
233 <td align="LEFT" valign="TOP"><a name="AEN11691"><span style="white-space: nowrap"><font>int</font> <code class="STRUCTFIELD">destroyDoc</code>;</span></a></td>
234 <td align="LEFT" valign="TOP"><p> the flag: if set to 1 then <code class="PARAMETER">doc</code> will
235 be destroyed when node set is destroyed.</p></td>
238 <td align="LEFT" valign="TOP"><a name="AEN11698"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a> <code class="STRUCTFIELD">type</code>;</span></a></td>
239 <td align="LEFT" valign="TOP"><p> the nodes set type.</p></td>
242 <td align="LEFT" valign="TOP"><a name="AEN11704"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a> <code class="STRUCTFIELD">op</code>;</span></a></td>
243 <td align="LEFT" valign="TOP"><p> the operation type.</p></td>
246 <td align="LEFT" valign="TOP"><a name="AEN11710"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> <code class="STRUCTFIELD">next</code>;</span></a></td>
247 <td align="LEFT" valign="TOP"><p> the next nodes set.</p></td>
250 <td align="LEFT" valign="TOP"><a name="AEN11716"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> <code class="STRUCTFIELD">prev</code>;</span></a></td>
251 <td align="LEFT" valign="TOP"><p> the previous nodes set.</p></td>
254 <td align="LEFT" valign="TOP"><a name="AEN11722"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> <code class="STRUCTFIELD">children</code>;</span></a></td>
255 <td align="LEFT" valign="TOP"><p> the children list (valid only if type
256 equal to <a href="xmlsec-nodeset.html#XMLSECNODESETLIST"><span class="TYPE">xmlSecNodeSetList</span></a>).</p></td>
261 <div class="REFSECT2">
262 <a name="XMLSECNODESETWALKCALLBACK"></a><h3>xmlSecNodeSetWalkCallback ()</h3>
263 <pre class="PROGRAMLISTING"><font>int</font> (*xmlSecNodeSetWalkCallback) (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
264 <font>xmlNodePtr</font> cur,
265 <font>xmlNodePtr</font> parent,
266 <font>void</font> *data);</pre>
267 <p>The callback function called once per each node in the nodes set.</p>
270 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
272 <td align="LEFT" valign="TOP"><a name="AEN11743"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
273 <td align="LEFT" valign="TOP"><p> the pointer to <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure.</p></td>
276 <td align="LEFT" valign="TOP"><a name="AEN11750"><span style="white-space: nowrap"><code class="PARAMETER">cur</code> :</span></a></td>
277 <td align="LEFT" valign="TOP"><p> the pointer current XML node.</p></td>
280 <td align="LEFT" valign="TOP"><a name="AEN11755"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td>
281 <td align="LEFT" valign="TOP"><p> the pointer to the <code class="PARAMETER">cur</code> parent node.</p></td>
284 <td align="LEFT" valign="TOP"><a name="AEN11761"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
285 <td align="LEFT" valign="TOP"><p> the pointer to application specific data.</p></td>
288 <td align="LEFT" valign="TOP"><a name="AEN11766"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
289 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs
290 an walk procedure should be interrupted.</p></td>
295 <div class="REFSECT2">
296 <a name="XMLSECNODESETCREATE"></a><h3>xmlSecNodeSetCreate ()</h3>
297 <pre class="PROGRAMLISTING"><font>xmlSecNodeSetPtr</font> xmlSecNodeSetCreate (<font>xmlDocPtr</font> doc,
298 <font>xmlNodeSetPtr</font> nodes,
299 <a href="xmlsec-nodeset.html#XMLSECNODESETTYPE">xmlSecNodeSetType</a> type);</pre>
300 <p>Creates new nodes set. Caller is responsible for freeng returend object
301 by calling <a href="xmlsec-nodeset.html#XMLSECNODESETDESTROY"><span class="TYPE">xmlSecNodeSetDestroy</span></a> function.</p>
304 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
306 <td align="LEFT" valign="TOP"><a name="AEN11785"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td>
307 <td align="LEFT" valign="TOP"><p> the pointer to parent XML document.</p></td>
310 <td align="LEFT" valign="TOP"><a name="AEN11790"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td>
311 <td align="LEFT" valign="TOP"><p> the list of nodes.</p></td>
314 <td align="LEFT" valign="TOP"><a name="AEN11795"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td>
315 <td align="LEFT" valign="TOP"><p> the nodes set type.</p></td>
318 <td align="LEFT" valign="TOP"><a name="AEN11800"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
319 <td align="LEFT" valign="TOP"><p> pointer to newly allocated node set or NULL if an error occurs.</p></td>
324 <div class="REFSECT2">
325 <a name="XMLSECNODESETDESTROY"></a><h3>xmlSecNodeSetDestroy ()</h3>
326 <pre class="PROGRAMLISTING"><font>void</font> xmlSecNodeSetDestroy (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset);</pre>
327 <p>Destroys the nodes set created with <a href="xmlsec-nodeset.html#XMLSECNODESETCREATE"><span class="TYPE">xmlSecNodeSetCreate</span></a> function.</p>
330 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
331 <td align="LEFT" valign="TOP"><a name="AEN11817"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
332 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
333 </tr></tbody></table>
336 <div class="REFSECT2">
337 <a name="XMLSECNODESETDOCDESTROY"></a><h3>xmlSecNodeSetDocDestroy ()</h3>
338 <pre class="PROGRAMLISTING"><font>void</font> xmlSecNodeSetDocDestroy (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset);</pre>
339 <p>Instructs node set to destroy nodes parent doc when node set is destroyed.</p>
342 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr>
343 <td align="LEFT" valign="TOP"><a name="AEN11832"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
344 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
345 </tr></tbody></table>
348 <div class="REFSECT2">
349 <a name="XMLSECNODESETCONTAINS"></a><h3>xmlSecNodeSetContains ()</h3>
350 <pre class="PROGRAMLISTING"><font>int</font> xmlSecNodeSetContains (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
351 <font>xmlNodePtr</font> node,
352 <font>xmlNodePtr</font> parent);</pre>
353 <p>Checks whether the <code class="PARAMETER">node</code> is in the nodes set or not.</p>
356 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
358 <td align="LEFT" valign="TOP"><a name="AEN11850"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
359 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
362 <td align="LEFT" valign="TOP"><a name="AEN11855"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td>
363 <td align="LEFT" valign="TOP"><p> the pointer to XML node to check.</p></td>
366 <td align="LEFT" valign="TOP"><a name="AEN11860"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td>
367 <td align="LEFT" valign="TOP"><p> the pointer to <code class="PARAMETER">node</code> parent node.</p></td>
370 <td align="LEFT" valign="TOP"><a name="AEN11866"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
371 <td align="LEFT" valign="TOP"><p> 1 if the <code class="PARAMETER">node</code> is in the nodes set <code class="PARAMETER">nset</code>, 0 if it is not
372 and a negative value if an error occurs.</p></td>
377 <div class="REFSECT2">
378 <a name="XMLSECNODESETADD"></a><h3>xmlSecNodeSetAdd ()</h3>
379 <pre class="PROGRAMLISTING"><font>xmlSecNodeSetPtr</font> xmlSecNodeSetAdd (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
380 <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> newNSet,
381 <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a> op);</pre>
382 <p>Adds <code class="PARAMETER">newNSet</code> to the <code class="PARAMETER">nset</code> using operation <code class="PARAMETER">op</code>.</p>
385 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
387 <td align="LEFT" valign="TOP"><a name="AEN11888"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
388 <td align="LEFT" valign="TOP"><p> the pointer to currrent nodes set (or NULL).</p></td>
391 <td align="LEFT" valign="TOP"><a name="AEN11893"><span style="white-space: nowrap"><code class="PARAMETER">newNSet</code> :</span></a></td>
392 <td align="LEFT" valign="TOP"><p> the pointer to new nodes set.</p></td>
395 <td align="LEFT" valign="TOP"><a name="AEN11898"><span style="white-space: nowrap"><code class="PARAMETER">op</code> :</span></a></td>
396 <td align="LEFT" valign="TOP"><p> the operation type.</p></td>
399 <td align="LEFT" valign="TOP"><a name="AEN11903"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
400 <td align="LEFT" valign="TOP"><p> the pointer to combined nodes set or NULL if an error
406 <div class="REFSECT2">
407 <a name="XMLSECNODESETADDLIST"></a><h3>xmlSecNodeSetAddList ()</h3>
408 <pre class="PROGRAMLISTING"><font>xmlSecNodeSetPtr</font> xmlSecNodeSetAddList (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
409 <a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> newNSet,
410 <a href="xmlsec-nodeset.html#XMLSECNODESETOP">xmlSecNodeSetOp</a> op);</pre>
411 <p>Adds <code class="PARAMETER">newNSet</code> to the <code class="PARAMETER">nset</code> as child using operation <code class="PARAMETER">op</code>.</p>
414 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
416 <td align="LEFT" valign="TOP"><a name="AEN11923"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
417 <td align="LEFT" valign="TOP"><p> the pointer to currrent nodes set (or NULL).</p></td>
420 <td align="LEFT" valign="TOP"><a name="AEN11928"><span style="white-space: nowrap"><code class="PARAMETER">newNSet</code> :</span></a></td>
421 <td align="LEFT" valign="TOP"><p> the pointer to new nodes set.</p></td>
424 <td align="LEFT" valign="TOP"><a name="AEN11933"><span style="white-space: nowrap"><code class="PARAMETER">op</code> :</span></a></td>
425 <td align="LEFT" valign="TOP"><p> the operation type.</p></td>
428 <td align="LEFT" valign="TOP"><a name="AEN11938"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
429 <td align="LEFT" valign="TOP"><p> the pointer to combined nodes set or NULL if an error
435 <div class="REFSECT2">
436 <a name="XMLSECNODESETGETCHILDREN"></a><h3>xmlSecNodeSetGetChildren ()</h3>
437 <pre class="PROGRAMLISTING"><font>xmlSecNodeSetPtr</font> xmlSecNodeSetGetChildren (<font>xmlDocPtr</font> doc,
438 const <font>xmlNodePtr</font> parent,
439 <font>int</font> withComments,
440 <font>int</font> invert);</pre>
441 <p>Creates a new nodes set that contains:
442 - if <code class="PARAMETER">withComments</code> is not 0 and <code class="PARAMETER">invert</code> is 0:
443 all nodes in the <code class="PARAMETER">parent</code> subtree;
444 - if <code class="PARAMETER">withComments</code> is 0 and <code class="PARAMETER">invert</code> is 0:
445 all nodes in the <code class="PARAMETER">parent</code> subtree except comment nodes;
446 - if <code class="PARAMETER">withComments</code> is not 0 and <code class="PARAMETER">invert</code> not is 0:
447 all nodes in the <code class="PARAMETER">doc</code> except nodes in the <code class="PARAMETER">parent</code> subtree;
448 - if <code class="PARAMETER">withComments</code> is 0 and <code class="PARAMETER">invert</code> is 0:
449 all nodes in the <code class="PARAMETER">doc</code> except nodes in the <code class="PARAMETER">parent</code> subtree
450 and comment nodes.</p>
453 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
455 <td align="LEFT" valign="TOP"><a name="AEN11970"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td>
456 <td align="LEFT" valign="TOP"><p> the pointer to an XML document.</p></td>
459 <td align="LEFT" valign="TOP"><a name="AEN11975"><span style="white-space: nowrap"><code class="PARAMETER">parent</code> :</span></a></td>
460 <td align="LEFT" valign="TOP"><p> the pointer to parent XML node or NULL if we want to include all document nodes.</p></td>
463 <td align="LEFT" valign="TOP"><a name="AEN11980"><span style="white-space: nowrap"><code class="PARAMETER">withComments</code> :</span></a></td>
464 <td align="LEFT" valign="TOP"><p> the flag include comments or not.</p></td>
467 <td align="LEFT" valign="TOP"><a name="AEN11985"><span style="white-space: nowrap"><code class="PARAMETER">invert</code> :</span></a></td>
468 <td align="LEFT" valign="TOP"><p> the "invert" flag.</p></td>
471 <td align="LEFT" valign="TOP"><a name="AEN11990"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
472 <td align="LEFT" valign="TOP"><p> pointer to the newly created <a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSet</span></a> structure
473 or NULL if an error occurs.</p></td>
478 <div class="REFSECT2">
479 <a name="XMLSECNODESETWALK"></a><h3>xmlSecNodeSetWalk ()</h3>
480 <pre class="PROGRAMLISTING"><font>int</font> xmlSecNodeSetWalk (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
481 <a href="xmlsec-nodeset.html#XMLSECNODESETWALKCALLBACK">xmlSecNodeSetWalkCallback</a> walkFunc,
482 <font>void</font> *data);</pre>
483 <p>Calls the function <code class="PARAMETER">walkFunc</code> once per each node in the nodes set <code class="PARAMETER">nset</code>.
484 If the <code class="PARAMETER">walkFunc</code> returns a negative value, then the walk procedure
488 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
490 <td align="LEFT" valign="TOP"><a name="AEN12012"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
491 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
494 <td align="LEFT" valign="TOP"><a name="AEN12017"><span style="white-space: nowrap"><code class="PARAMETER">walkFunc</code> :</span></a></td>
495 <td align="LEFT" valign="TOP"><p> the callback functions.</p></td>
498 <td align="LEFT" valign="TOP"><a name="AEN12022"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td>
499 <td align="LEFT" valign="TOP"><p> the application specific data passed to the <code class="PARAMETER">walkFunc</code>.</p></td>
502 <td align="LEFT" valign="TOP"><a name="AEN12028"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
503 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td>
508 <div class="REFSECT2">
509 <a name="XMLSECNODESETDUMPTEXTNODES"></a><h3>xmlSecNodeSetDumpTextNodes ()</h3>
510 <pre class="PROGRAMLISTING"><font>int</font> xmlSecNodeSetDumpTextNodes (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
511 <font>xmlOutputBufferPtr</font> out);</pre>
512 <p>Dumps content of all the text nodes from <code class="PARAMETER">nset</code> to <code class="PARAMETER">out</code>.</p>
515 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
517 <td align="LEFT" valign="TOP"><a name="AEN12046"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
518 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
521 <td align="LEFT" valign="TOP"><a name="AEN12051"><span style="white-space: nowrap"><code class="PARAMETER">out</code> :</span></a></td>
522 <td align="LEFT" valign="TOP"><p> the output buffer.</p></td>
525 <td align="LEFT" valign="TOP"><a name="AEN12056"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td>
526 <td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td>
531 <div class="REFSECT2">
532 <a name="XMLSECNODESETDEBUGDUMP"></a><h3>xmlSecNodeSetDebugDump ()</h3>
533 <pre class="PROGRAMLISTING"><font>void</font> xmlSecNodeSetDebugDump (<a href="xmlsec-nodeset.html#XMLSECNODESET">xmlSecNodeSetPtr</a> nset,
534 <font>FILE</font> *output);</pre>
535 <p>Prints information about <code class="PARAMETER">nset</code> to the <code class="PARAMETER">output</code>.</p>
538 <table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody>
540 <td align="LEFT" valign="TOP"><a name="AEN12074"><span style="white-space: nowrap"><code class="PARAMETER">nset</code> :</span></a></td>
541 <td align="LEFT" valign="TOP"><p> the pointer to node set.</p></td>
544 <td align="LEFT" valign="TOP"><a name="AEN12079"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td>
545 <td align="LEFT" valign="TOP"><p> the pointer to output FILE.</p></td>
550 <table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle">
551 <td align="left"><a accesskey="p" href="xmlsec-membuf.html"><b><<< membuf</b></a></td>
552 <td align="right"><a accesskey="n" href="xmlsec-parser.html"><b>parser >>></b></a></td>
554 </td></tr></table></td>