1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>libxml++: xmlpp::Validator Class Reference</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <script type="text/javascript" src="jquery.js"></script>
9 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="doxygen.css" rel="stylesheet" type="text/css" />
13 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
15 <table cellspacing="0" cellpadding="0">
17 <tr style="height: 56px;">
18 <td style="padding-left: 0.5em;">
19 <div id="projectname">libxml++
20  <span id="projectnumber">2.35.4</span>
27 <!-- end header part -->
28 <!-- Generated by Doxygen 1.8.2 -->
29 <div id="navrow1" class="tabs">
31 <li><a href="index.html"><span>Main Page</span></a></li>
32 <li><a href="pages.html"><span>Related Pages</span></a></li>
33 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
34 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
37 <div id="navrow2" class="tabs2">
39 <li><a href="annotated.html"><span>Class List</span></a></li>
40 <li><a href="classes.html"><span>Class Index</span></a></li>
41 <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
42 <li><a href="functions.html"><span>Class Members</span></a></li>
45 <div id="nav-path" class="navpath">
47 <li class="navelem"><a class="el" href="namespacexmlpp.html">xmlpp</a></li><li class="navelem"><a class="el" href="classxmlpp_1_1Validator.html">Validator</a></li> </ul>
52 <a href="#pub-methods">Public Member Functions</a> |
53 <a href="#pro-methods">Protected Member Functions</a> |
54 <a href="#pro-static-methods">Static Protected Member Functions</a> |
55 <a href="#pro-attribs">Protected Attributes</a> |
56 <a href="classxmlpp_1_1Validator-members.html">List of all members</a> </div>
57 <div class="headertitle">
58 <div class="title">xmlpp::Validator Class Reference</div> </div>
60 <div class="contents">
62 <p>Base class for XML validators. <a href="classxmlpp_1_1Validator.html#details">More...</a></p>
64 <p><code>#include <libxml++/validators/validator.h></code></p>
65 <div class="dynheader">
66 Inheritance diagram for xmlpp::Validator:</div>
67 <div class="dyncontent">
68 <div class="center"><img src="classxmlpp_1_1Validator__inherit__graph.png" border="0" usemap="#xmlpp_1_1Validator_inherit__map" alt="Inheritance graph"/></div>
69 <map name="xmlpp_1_1Validator_inherit__map" id="xmlpp_1_1Validator_inherit__map">
70 <area shape="rect" id="node5" href="classxmlpp_1_1DtdValidator.html" title="XML DTD validator." alt="" coords="5,155,152,181"/><area shape="rect" id="node7" href="classxmlpp_1_1SchemaValidator.html" title="XML Schema Validator." alt="" coords="177,155,353,181"/><area shape="rect" id="node2" href="classxmlpp_1_1NonCopyable.html" title="Herited by classes which cannot be copied." alt="" coords="95,5,248,32"/></map>
71 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
72 <div class="dynheader">
73 Collaboration diagram for xmlpp::Validator:</div>
74 <div class="dyncontent">
75 <div class="center"><img src="classxmlpp_1_1Validator__coll__graph.png" border="0" usemap="#xmlpp_1_1Validator_coll__map" alt="Collaboration graph"/></div>
76 <map name="xmlpp_1_1Validator_coll__map" id="xmlpp_1_1Validator_coll__map">
77 <area shape="rect" id="node2" href="classxmlpp_1_1NonCopyable.html" title="Herited by classes which cannot be copied." alt="" coords="5,83,159,109"/><area shape="rect" id="node4" href="classxmlpp_1_1exception.html" title="Base class for all xmlpp exceptions." alt="" coords="184,83,313,109"/><area shape="rect" id="node6" href="classstd_1_1exception.html" title="std::exception" alt="" coords="193,5,304,32"/><area shape="rect" id="node8" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html" title="Glib::ustring" alt="" coords="339,83,437,109"/></map>
78 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
79 <table class="memberdecls">
80 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
81 Public Member Functions</h2></td></tr>
82 <tr class="memitem:a2e25d9106542fac59c7a4368257cdcb5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a2e25d9106542fac59c7a4368257cdcb5">Validator</a> ()</td></tr>
83 <tr class="separator:a2e25d9106542fac59c7a4368257cdcb5"><td class="memSeparator" colspan="2"> </td></tr>
84 <tr class="memitem:a381ade9a196777fb24780375ed82b06a"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a381ade9a196777fb24780375ed82b06a">~Validator</a> ()</td></tr>
85 <tr class="separator:a381ade9a196777fb24780375ed82b06a"><td class="memSeparator" colspan="2"> </td></tr>
86 </table><table class="memberdecls">
87 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
88 Protected Member Functions</h2></td></tr>
89 <tr class="memitem:a12ee744e385987547d1c449a1e4bf596"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a12ee744e385987547d1c449a1e4bf596">initialize_valid</a> ()</td></tr>
90 <tr class="separator:a12ee744e385987547d1c449a1e4bf596"><td class="memSeparator" colspan="2"> </td></tr>
91 <tr class="memitem:a317466ca90b8e53d6f57e49fd032d8cb"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a317466ca90b8e53d6f57e49fd032d8cb">release_underlying</a> ()</td></tr>
92 <tr class="separator:a317466ca90b8e53d6f57e49fd032d8cb"><td class="memSeparator" colspan="2"> </td></tr>
93 <tr class="memitem:af59b45514fe397db1dbb025a1a3b103f"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#af59b45514fe397db1dbb025a1a3b103f">on_validity_error</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& message)</td></tr>
94 <tr class="separator:af59b45514fe397db1dbb025a1a3b103f"><td class="memSeparator" colspan="2"> </td></tr>
95 <tr class="memitem:a7ef36a34b258165082c4f33737e743d2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a7ef36a34b258165082c4f33737e743d2">on_validity_warning</a> (const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a>& message)</td></tr>
96 <tr class="separator:a7ef36a34b258165082c4f33737e743d2"><td class="memSeparator" colspan="2"> </td></tr>
97 <tr class="memitem:a4d02cc2d687f0bd28e3c777ebbc7c458"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a4d02cc2d687f0bd28e3c777ebbc7c458">handleException</a> (const <a class="el" href="classxmlpp_1_1exception.html">exception</a>& e)</td></tr>
98 <tr class="separator:a4d02cc2d687f0bd28e3c777ebbc7c458"><td class="memSeparator" colspan="2"> </td></tr>
99 <tr class="memitem:a2af695894f22e61b4f85551edefd104d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a2af695894f22e61b4f85551edefd104d">check_for_exception</a> ()</td></tr>
100 <tr class="separator:a2af695894f22e61b4f85551edefd104d"><td class="memSeparator" colspan="2"> </td></tr>
101 <tr class="memitem:a655f06aa683577c26dcb2edba2e9e84b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a655f06aa683577c26dcb2edba2e9e84b">check_for_validity_messages</a> ()</td></tr>
102 <tr class="separator:a655f06aa683577c26dcb2edba2e9e84b"><td class="memSeparator" colspan="2"> </td></tr>
103 </table><table class="memberdecls">
104 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
105 Static Protected Member Functions</h2></td></tr>
106 <tr class="memitem:a616cad28f3d4f59b76edb916bffeb6ef"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a616cad28f3d4f59b76edb916bffeb6ef">callback_validity_error</a> (void* ctx, const char* msg,...)</td></tr>
107 <tr class="separator:a616cad28f3d4f59b76edb916bffeb6ef"><td class="memSeparator" colspan="2"> </td></tr>
108 <tr class="memitem:a5f8938e79ca2c52ec26e499b356985a0"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a5f8938e79ca2c52ec26e499b356985a0">callback_validity_warning</a> (void* ctx, const char* msg,...)</td></tr>
109 <tr class="separator:a5f8938e79ca2c52ec26e499b356985a0"><td class="memSeparator" colspan="2"> </td></tr>
110 </table><table class="memberdecls">
111 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
112 Protected Attributes</h2></td></tr>
113 <tr class="memitem:a1c6ef225bbdf9053a7e83587262f30e9"><td class="memItemLeft" align="right" valign="top">_xmlValidCtxt* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a1c6ef225bbdf9053a7e83587262f30e9">valid_</a></td></tr>
114 <tr class="separator:a1c6ef225bbdf9053a7e83587262f30e9"><td class="memSeparator" colspan="2"> </td></tr>
115 <tr class="memitem:a55796f9903e66aa4730313936fab1f0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#a55796f9903e66aa4730313936fab1f0b">exception_</a></td></tr>
116 <tr class="separator:a55796f9903e66aa4730313936fab1f0b"><td class="memSeparator" colspan="2"> </td></tr>
117 <tr class="memitem:ac28c8c06c9c3cbbebfa0d1c90d20cdf5"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#ac28c8c06c9c3cbbebfa0d1c90d20cdf5">validate_error_</a></td></tr>
118 <tr class="separator:ac28c8c06c9c3cbbebfa0d1c90d20cdf5"><td class="memSeparator" colspan="2"> </td></tr>
119 <tr class="memitem:aa876f0e05457de97a3c2d598e4af2580"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classxmlpp_1_1Validator.html#aa876f0e05457de97a3c2d598e4af2580">validate_warning_</a></td></tr>
120 <tr class="separator:aa876f0e05457de97a3c2d598e4af2580"><td class="memSeparator" colspan="2"> </td></tr>
121 </table><table class="memberdecls">
122 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
123 Additional Inherited Members</h2></td></tr>
125 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
126 <div class="textblock"><p>Base class for XML validators. </p>
127 </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
128 <a class="anchor" id="a2e25d9106542fac59c7a4368257cdcb5"></a>
129 <div class="memitem">
130 <div class="memproto">
131 <table class="memname">
133 <td class="memname">xmlpp::Validator::Validator </td>
135 <td class="paramname"></td><td>)</td>
139 </div><div class="memdoc">
143 <a class="anchor" id="a381ade9a196777fb24780375ed82b06a"></a>
144 <div class="memitem">
145 <div class="memproto">
146 <table class="mlabels">
148 <td class="mlabels-left">
149 <table class="memname">
151 <td class="memname">virtual xmlpp::Validator::~Validator </td>
153 <td class="paramname"></td><td>)</td>
158 <td class="mlabels-right">
159 <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
162 </div><div class="memdoc">
166 <h2 class="groupheader">Member Function Documentation</h2>
167 <a class="anchor" id="a616cad28f3d4f59b76edb916bffeb6ef"></a>
168 <div class="memitem">
169 <div class="memproto">
170 <table class="mlabels">
172 <td class="mlabels-left">
173 <table class="memname">
175 <td class="memname">static void xmlpp::Validator::callback_validity_error </td>
177 <td class="paramtype">void * </td>
178 <td class="paramname"><em>ctx</em>, </td>
181 <td class="paramkey"></td>
183 <td class="paramtype">const char * </td>
184 <td class="paramname"><em>msg</em>, </td>
187 <td class="paramkey"></td>
189 <td class="paramtype"> </td>
190 <td class="paramname"><em>...</em> </td>
199 <td class="mlabels-right">
200 <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
203 </div><div class="memdoc">
207 <a class="anchor" id="a5f8938e79ca2c52ec26e499b356985a0"></a>
208 <div class="memitem">
209 <div class="memproto">
210 <table class="mlabels">
212 <td class="mlabels-left">
213 <table class="memname">
215 <td class="memname">static void xmlpp::Validator::callback_validity_warning </td>
217 <td class="paramtype">void * </td>
218 <td class="paramname"><em>ctx</em>, </td>
221 <td class="paramkey"></td>
223 <td class="paramtype">const char * </td>
224 <td class="paramname"><em>msg</em>, </td>
227 <td class="paramkey"></td>
229 <td class="paramtype"> </td>
230 <td class="paramname"><em>...</em> </td>
239 <td class="mlabels-right">
240 <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
243 </div><div class="memdoc">
247 <a class="anchor" id="a2af695894f22e61b4f85551edefd104d"></a>
248 <div class="memitem">
249 <div class="memproto">
250 <table class="mlabels">
252 <td class="mlabels-left">
253 <table class="memname">
255 <td class="memname">virtual void xmlpp::Validator::check_for_exception </td>
257 <td class="paramname"></td><td>)</td>
262 <td class="mlabels-right">
263 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
266 </div><div class="memdoc">
270 <a class="anchor" id="a655f06aa683577c26dcb2edba2e9e84b"></a>
271 <div class="memitem">
272 <div class="memproto">
273 <table class="mlabels">
275 <td class="mlabels-left">
276 <table class="memname">
278 <td class="memname">virtual void xmlpp::Validator::check_for_validity_messages </td>
280 <td class="paramname"></td><td>)</td>
285 <td class="mlabels-right">
286 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
289 </div><div class="memdoc">
293 <a class="anchor" id="a4d02cc2d687f0bd28e3c777ebbc7c458"></a>
294 <div class="memitem">
295 <div class="memproto">
296 <table class="mlabels">
298 <td class="mlabels-left">
299 <table class="memname">
301 <td class="memname">virtual void xmlpp::Validator::handleException </td>
303 <td class="paramtype">const <a class="el" href="classxmlpp_1_1exception.html">exception</a>& </td>
304 <td class="paramname"><em>e</em></td><td>)</td>
309 <td class="mlabels-right">
310 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
313 </div><div class="memdoc">
317 <a class="anchor" id="a12ee744e385987547d1c449a1e4bf596"></a>
318 <div class="memitem">
319 <div class="memproto">
320 <table class="mlabels">
322 <td class="mlabels-left">
323 <table class="memname">
325 <td class="memname">virtual void xmlpp::Validator::initialize_valid </td>
327 <td class="paramname"></td><td>)</td>
332 <td class="mlabels-right">
333 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
336 </div><div class="memdoc">
338 <p>Reimplemented in <a class="el" href="classxmlpp_1_1SchemaValidator.html#ad651b57c399b15ba536371e287001cc1">xmlpp::SchemaValidator</a>.</p>
342 <a class="anchor" id="af59b45514fe397db1dbb025a1a3b103f"></a>
343 <div class="memitem">
344 <div class="memproto">
345 <table class="mlabels">
347 <td class="mlabels-left">
348 <table class="memname">
350 <td class="memname">virtual void xmlpp::Validator::on_validity_error </td>
352 <td class="paramtype">const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> & </td>
353 <td class="paramname"><em>message</em></td><td>)</td>
358 <td class="mlabels-right">
359 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
362 </div><div class="memdoc">
366 <a class="anchor" id="a7ef36a34b258165082c4f33737e743d2"></a>
367 <div class="memitem">
368 <div class="memproto">
369 <table class="mlabels">
371 <td class="mlabels-left">
372 <table class="memname">
374 <td class="memname">virtual void xmlpp::Validator::on_validity_warning </td>
376 <td class="paramtype">const <a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> & </td>
377 <td class="paramname"><em>message</em></td><td>)</td>
382 <td class="mlabels-right">
383 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
386 </div><div class="memdoc">
390 <a class="anchor" id="a317466ca90b8e53d6f57e49fd032d8cb"></a>
391 <div class="memitem">
392 <div class="memproto">
393 <table class="mlabels">
395 <td class="mlabels-left">
396 <table class="memname">
398 <td class="memname">virtual void xmlpp::Validator::release_underlying </td>
400 <td class="paramname"></td><td>)</td>
405 <td class="mlabels-right">
406 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
409 </div><div class="memdoc">
411 <p>Reimplemented in <a class="el" href="classxmlpp_1_1SchemaValidator.html#a682a1a79512bc7bc58c839212f2a2722">xmlpp::SchemaValidator</a>, and <a class="el" href="classxmlpp_1_1DtdValidator.html#ae132f171961e6fa5d3745a03f8d9a210">xmlpp::DtdValidator</a>.</p>
415 <h2 class="groupheader">Member Data Documentation</h2>
416 <a class="anchor" id="a55796f9903e66aa4730313936fab1f0b"></a>
417 <div class="memitem">
418 <div class="memproto">
419 <table class="mlabels">
421 <td class="mlabels-left">
422 <table class="memname">
424 <td class="memname"><a class="el" href="classxmlpp_1_1exception.html">exception</a>* xmlpp::Validator::exception_</td>
428 <td class="mlabels-right">
429 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
432 </div><div class="memdoc">
436 <a class="anchor" id="a1c6ef225bbdf9053a7e83587262f30e9"></a>
437 <div class="memitem">
438 <div class="memproto">
439 <table class="mlabels">
441 <td class="mlabels-left">
442 <table class="memname">
444 <td class="memname">_xmlValidCtxt* xmlpp::Validator::valid_</td>
448 <td class="mlabels-right">
449 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
452 </div><div class="memdoc">
456 <a class="anchor" id="ac28c8c06c9c3cbbebfa0d1c90d20cdf5"></a>
457 <div class="memitem">
458 <div class="memproto">
459 <table class="mlabels">
461 <td class="mlabels-left">
462 <table class="memname">
464 <td class="memname"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> xmlpp::Validator::validate_error_</td>
468 <td class="mlabels-right">
469 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
472 </div><div class="memdoc">
476 <a class="anchor" id="aa876f0e05457de97a3c2d598e4af2580"></a>
477 <div class="memitem">
478 <div class="memproto">
479 <table class="mlabels">
481 <td class="mlabels-left">
482 <table class="memname">
484 <td class="memname"><a class="elRef" doxygen="glibmm-2.4.tag:http://library.gnome.org/devel/glibmm/unstable/" href="http://library.gnome.org/devel/glibmm/unstable/classGlib_1_1ustring.html">Glib::ustring</a> xmlpp::Validator::validate_warning_</td>
488 <td class="mlabels-right">
489 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
492 </div><div class="memdoc">
496 <hr/>The documentation for this class was generated from the following file:<ul>
497 <li>validators/validator.h</li>
499 </div><!-- contents -->
500 <!-- start footer part -->
501 <hr class="footer"/><address class="footer"><small>
502 Generated on Mon Oct 8 2012 23:12:21 for libxml++ by  <a href="http://www.doxygen.org/index.html">
503 <img class="footer" src="doxygen.png" alt="doxygen"/>