Imported Upstream version 4.5.2
[platform/upstream/python-lxml.git] / doc / html / api / lxml.doctestcompare-module.html
1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3           "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <head>
6   <title>lxml.doctestcompare</title>
7   <link rel="stylesheet" href="epydoc.css" type="text/css" />
8   <script type="text/javascript" src="epydoc.js"></script>
9 </head>
10
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
12       alink="#204080">
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15        bgcolor="#a0c0ff" cellspacing="0">
16   <tr valign="middle">
17   <!-- Home link -->
18       <th>&nbsp;&nbsp;&nbsp;<a
19         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21   <!-- Tree link -->
22       <th>&nbsp;&nbsp;&nbsp;<a
23         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25   <!-- Index link -->
26       <th>&nbsp;&nbsp;&nbsp;<a
27         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29   <!-- Help link -->
30       <th>&nbsp;&nbsp;&nbsp;<a
31         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
33   <!-- Project homepage -->
34       <th class="navbar" align="right" width="100%">
35         <table border="0" cellpadding="0" cellspacing="0">
36           <tr><th class="navbar" align="center"
37             ><a class="navbar" target="_top" href="/">lxml API</a></th>
38           </tr></table></th>
39   </tr>
40 </table>
41 <table width="100%" cellpadding="0" cellspacing="0">
42   <tr valign="top">
43     <td width="100%">
44       <span class="breadcrumbs">
45         <a href="lxml-module.html">Package&nbsp;lxml</a> ::
46         Module&nbsp;doctestcompare
47       </span>
48     </td>
49     <td>
50       <table cellpadding="0" cellspacing="0">
51         <!-- hide/show private -->
52         <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
53     onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
54         <tr><td align="right"><span class="options"
55             >[<a href="frames.html" target="_top">frames</a
56             >]&nbsp;|&nbsp;<a href="lxml.doctestcompare-module.html"
57             target="_top">no&nbsp;frames</a>]</span></td></tr>
58       </table>
59     </td>
60   </tr>
61 </table>
62 <!-- ==================== MODULE DESCRIPTION ==================== -->
63 <h1 class="epydoc">Module doctestcompare</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.doctestcompare-pysrc.html">source&nbsp;code</a></span></p>
64 <p>lxml-based doctest output comparison.</p>
65 <p>Note: normally, you should just import the <a href="lxml.usedoctest-module.html" class="link">lxml.usedoctest</a> and
66 <a href="lxml.html.usedoctest-module.html" class="link">lxml.html.usedoctest</a> modules from within a doctest, instead of this
67 one:</p>
68 <pre class="rst-literal-block">
69 &gt;&gt;&gt; import lxml.usedoctest # for XML output
70
71 &gt;&gt;&gt; import lxml.html.usedoctest # for HTML output
72 </pre>
73 <p>To use this module directly, you must call <tt class="rst-docutils literal">lxmldoctest.install()</tt>,
74 which will cause doctest to use this in all subsequent calls.</p>
75 <p>This changes the way output is checked and comparisons are made for
76 XML or HTML-like content.</p>
77 <p>XML or HTML content is noticed because the example starts with <tt class="rst-docutils literal">&lt;</tt>
78 (it's HTML if it starts with <tt class="rst-docutils literal">&lt;html</tt>).  You can also use the
79 <tt class="rst-docutils literal">PARSE_HTML</tt> and <tt class="rst-docutils literal">PARSE_XML</tt> flags to force parsing.</p>
80 <p>Some rough wildcard-like things are allowed.  Whitespace is generally
81 ignored (except in attributes).  In text (attributes and text in the
82 body) you can use <tt class="rst-docutils literal">...</tt> as a wildcard.  In an example it also
83 matches any trailing tags in the element, though it does not match
84 leading tags.  You may create a tag <tt class="rst-docutils literal">&lt;any&gt;</tt> or include an <tt class="rst-docutils literal">any</tt>
85 attribute in the tag.  An <tt class="rst-docutils literal">any</tt> tag matches any tag, while the
86 attribute matches any and all attributes.</p>
87 <p>When a match fails, the reformatted example and gotten text is
88 displayed (indented), and a rough diff-like output is given.  Anything
89 marked with <tt class="rst-docutils literal">+</tt> is in the output but wasn't supposed to be, and
90 similarly <tt class="rst-docutils literal">-</tt> means its in the example but wasn't in the output.</p>
91 <p>You can disable parsing on one line with <tt class="rst-docutils literal"># <span class="pre">doctest:+NOPARSE_MARKUP</span></tt></p>
92
93 <!-- ==================== CLASSES ==================== -->
94 <a name="section-Classes"></a>
95 <table class="summary" border="1" cellpadding="3"
96        cellspacing="0" width="100%" bgcolor="white">
97 <tr bgcolor="#70b0f0" class="table-header">
98   <td colspan="2" class="table-header">
99     <table border="0" cellpadding="0" cellspacing="0" width="100%">
100       <tr valign="top">
101         <td align="left"><span class="table-header">Classes</span></td>
102         <td align="right" valign="top"
103          ><span class="options">[<a href="#section-Classes"
104          class="privatelink" onclick="toggle_private();"
105          >hide private</a>]</span></td>
106       </tr>
107     </table>
108   </td>
109 </tr>
110 <tr>
111     <td width="15%" align="right" valign="top" class="summary">
112       <span class="summary-type">&nbsp;</span>
113     </td><td class="summary">
114         <a href="lxml.doctestcompare.LXMLOutputChecker-class.html" class="summary-name">LXMLOutputChecker</a>
115     </td>
116   </tr>
117 <tr>
118     <td width="15%" align="right" valign="top" class="summary">
119       <span class="summary-type">&nbsp;</span>
120     </td><td class="summary">
121         <a href="lxml.doctestcompare.LHTMLOutputChecker-class.html" class="summary-name">LHTMLOutputChecker</a>
122     </td>
123   </tr>
124 <tr class="private">
125     <td width="15%" align="right" valign="top" class="summary">
126       <span class="summary-type">&nbsp;</span>
127     </td><td class="summary">
128         <a href="lxml.doctestcompare._RestoreChecker-class.html" class="summary-name" onclick="show_private();">_RestoreChecker</a>
129     </td>
130   </tr>
131 </table>
132 <!-- ==================== FUNCTIONS ==================== -->
133 <a name="section-Functions"></a>
134 <table class="summary" border="1" cellpadding="3"
135        cellspacing="0" width="100%" bgcolor="white">
136 <tr bgcolor="#70b0f0" class="table-header">
137   <td colspan="2" class="table-header">
138     <table border="0" cellpadding="0" cellspacing="0" width="100%">
139       <tr valign="top">
140         <td align="left"><span class="table-header">Functions</span></td>
141         <td align="right" valign="top"
142          ><span class="options">[<a href="#section-Functions"
143          class="privatelink" onclick="toggle_private();"
144          >hide private</a>]</span></td>
145       </tr>
146     </table>
147   </td>
148 </tr>
149 <tr class="private">
150     <td width="15%" align="right" valign="top" class="summary">
151       <span class="summary-type">&nbsp;</span>
152     </td><td class="summary">
153       <table width="100%" cellpadding="0" cellspacing="0" border="0">
154         <tr>
155           <td><span class="summary-sig"><a name="strip"></a><span class="summary-sig-name">strip</span>(<span class="summary-sig-arg">v</span>)</span></td>
156           <td align="right" valign="top">
157             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#strip">source&nbsp;code</a></span>
158             
159           </td>
160         </tr>
161       </table>
162       
163     </td>
164   </tr>
165 <tr class="private">
166     <td width="15%" align="right" valign="top" class="summary">
167       <span class="summary-type">&nbsp;</span>
168     </td><td class="summary">
169       <table width="100%" cellpadding="0" cellspacing="0" border="0">
170         <tr>
171           <td><span class="summary-sig"><a name="norm_whitespace"></a><span class="summary-sig-name">norm_whitespace</span>(<span class="summary-sig-arg">v</span>)</span></td>
172           <td align="right" valign="top">
173             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#norm_whitespace">source&nbsp;code</a></span>
174             
175           </td>
176         </tr>
177       </table>
178       
179     </td>
180   </tr>
181 <tr class="private">
182     <td width="15%" align="right" valign="top" class="summary">
183       <span class="summary-type">&nbsp;</span>
184     </td><td class="summary">
185       <table width="100%" cellpadding="0" cellspacing="0" border="0">
186         <tr>
187           <td><span class="summary-sig"><a name="html_fromstring"></a><span class="summary-sig-name">html_fromstring</span>(<span class="summary-sig-arg">html</span>)</span></td>
188           <td align="right" valign="top">
189             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#html_fromstring">source&nbsp;code</a></span>
190             
191           </td>
192         </tr>
193       </table>
194       
195     </td>
196   </tr>
197 <tr>
198     <td width="15%" align="right" valign="top" class="summary">
199       <span class="summary-type">&nbsp;</span>
200     </td><td class="summary">
201       <table width="100%" cellpadding="0" cellspacing="0" border="0">
202         <tr>
203           <td><span class="summary-sig"><a href="lxml.doctestcompare-module.html#install" class="summary-sig-name">install</a>(<span class="summary-sig-arg">html</span>=<span class="summary-sig-default">False</span>)</span><br />
204       Install doctestcompare for all future doctests.</td>
205           <td align="right" valign="top">
206             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#install">source&nbsp;code</a></span>
207             
208           </td>
209         </tr>
210       </table>
211       
212     </td>
213   </tr>
214 <tr>
215     <td width="15%" align="right" valign="top" class="summary">
216       <span class="summary-type">&nbsp;</span>
217     </td><td class="summary">
218       <table width="100%" cellpadding="0" cellspacing="0" border="0">
219         <tr>
220           <td><span class="summary-sig"><a href="lxml.doctestcompare-module.html#temp_install" class="summary-sig-name">temp_install</a>(<span class="summary-sig-arg">html</span>=<span class="summary-sig-default">False</span>,
221         <span class="summary-sig-arg">del_module</span>=<span class="summary-sig-default">None</span>)</span><br />
222       Use this <em>inside</em> a doctest to enable this checker for this
223 doctest only.</td>
224           <td align="right" valign="top">
225             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#temp_install">source&nbsp;code</a></span>
226             
227           </td>
228         </tr>
229       </table>
230       
231     </td>
232   </tr>
233 <tr class="private">
234     <td width="15%" align="right" valign="top" class="summary">
235       <span class="summary-type">&nbsp;</span>
236     </td><td class="summary">
237       <table width="100%" cellpadding="0" cellspacing="0" border="0">
238         <tr>
239           <td><span class="summary-sig"><a name="_find_doctest_frame"></a><span class="summary-sig-name">_find_doctest_frame</span>()</span></td>
240           <td align="right" valign="top">
241             <span class="codelink"><a href="lxml.doctestcompare-pysrc.html#_find_doctest_frame">source&nbsp;code</a></span>
242             
243           </td>
244         </tr>
245       </table>
246       
247     </td>
248   </tr>
249 </table>
250 <!-- ==================== VARIABLES ==================== -->
251 <a name="section-Variables"></a>
252 <table class="summary" border="1" cellpadding="3"
253        cellspacing="0" width="100%" bgcolor="white">
254 <tr bgcolor="#70b0f0" class="table-header">
255   <td colspan="2" class="table-header">
256     <table border="0" cellpadding="0" cellspacing="0" width="100%">
257       <tr valign="top">
258         <td align="left"><span class="table-header">Variables</span></td>
259         <td align="right" valign="top"
260          ><span class="options">[<a href="#section-Variables"
261          class="privatelink" onclick="toggle_private();"
262          >hide private</a>]</span></td>
263       </tr>
264     </table>
265   </td>
266 </tr>
267 <tr class="private">
268     <td width="15%" align="right" valign="top" class="summary">
269       <span class="summary-type">&nbsp;</span>
270     </td><td class="summary">
271         <a name="_IS_PYTHON_3"></a><span class="summary-name">_IS_PYTHON_3</span> = <code title="False">False</code>
272     </td>
273   </tr>
274 <tr>
275     <td width="15%" align="right" valign="top" class="summary">
276       <span class="summary-type">&nbsp;</span>
277     </td><td class="summary">
278         <a name="PARSE_HTML"></a><span class="summary-name">PARSE_HTML</span> = <code title="1024">1024</code>
279     </td>
280   </tr>
281 <tr>
282     <td width="15%" align="right" valign="top" class="summary">
283       <span class="summary-type">&nbsp;</span>
284     </td><td class="summary">
285         <a name="PARSE_XML"></a><span class="summary-name">PARSE_XML</span> = <code title="2048">2048</code>
286     </td>
287   </tr>
288 <tr>
289     <td width="15%" align="right" valign="top" class="summary">
290       <span class="summary-type">&nbsp;</span>
291     </td><td class="summary">
292         <a name="NOPARSE_MARKUP"></a><span class="summary-name">NOPARSE_MARKUP</span> = <code title="4096">4096</code>
293     </td>
294   </tr>
295 <tr class="private">
296     <td width="15%" align="right" valign="top" class="summary">
297       <span class="summary-type">&nbsp;</span>
298     </td><td class="summary">
299         <a name="_html_parser"></a><span class="summary-name">_html_parser</span> = <code title="&lt;lxml.etree.HTMLParser object&gt;">&lt;lxml.etree.HTMLParser object&gt;</code>
300     </td>
301   </tr>
302 <tr class="private">
303     <td width="15%" align="right" valign="top" class="summary">
304       <span class="summary-type">&nbsp;</span>
305     </td><td class="summary">
306         <a name="_repr_re"></a><span class="summary-name">_repr_re</span> = <code title="re.compile(r'^&lt;[^&gt;]+ (at|object) ')">re.compile(r'^&lt;<code class="re-group">[^</code>&gt;<code class="re-group">]</code><code class="re-op">+</code> <code class="re-group">(</code>at<code class="re-op">|</code>object<code class="re-group">)</code> ')</code>
307     </td>
308   </tr>
309 <tr class="private">
310     <td width="15%" align="right" valign="top" class="summary">
311       <span class="summary-type">&nbsp;</span>
312     </td><td class="summary">
313         <a name="_norm_whitespace_re"></a><span class="summary-name">_norm_whitespace_re</span> = <code title="re.compile(r'[ \t\n][ \t\n]+')">re.compile(r'<code class="re-group">[</code> \t\n<code class="re-group">]</code><code class="re-group">[</code> \t\n<code class="re-group">]</code><code class="re-op">+</code>')</code>
314     </td>
315   </tr>
316 <tr class="private">
317     <td width="15%" align="right" valign="top" class="summary">
318       <span class="summary-type">&nbsp;</span>
319     </td><td class="summary">
320         <a href="lxml.doctestcompare-module.html#__test__" class="summary-name" onclick="show_private();">__test__</a> = <code title="{'basic': '''
321     &gt;&gt;&gt; temp_install()
322     &gt;&gt;&gt; print &quot;&quot;&quot;&lt;xml a=&quot;1&quot; b=&quot;2&quot;&gt;stuff&lt;/xml&gt;&quot;&quot;&quot;
323     &lt;xml b=&quot;2&quot; a=&quot;1&quot;&gt;...&lt;/xml&gt;
324     &gt;&gt;&gt; print &quot;&quot;&quot;&lt;xml xmlns=&quot;http://example.com&quot;&gt;&lt;tag   attr=&quot;bar&quot;   /\
325 &gt;&lt;/xml&gt;&quot;&quot;&quot;
326     &lt;xml xmlns=&quot;...&quot;&gt;
327       &lt;tag attr=&quot;...&quot; /&gt;
328 ..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">basic</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\n    &gt;&gt;&gt; temp_install()\n    &gt;&gt;&gt; print </code><code class="variable-ellipsis">...</code></code>
329     </td>
330   </tr>
331 <tr class="private">
332     <td width="15%" align="right" valign="top" class="summary">
333       <span class="summary-type">&nbsp;</span>
334     </td><td class="summary">
335         <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'lxml'"><code class="variable-quote">'</code><code class="variable-string">lxml</code><code class="variable-quote">'</code></code>
336     </td>
337   </tr>
338 </table>
339 <!-- ==================== FUNCTION DETAILS ==================== -->
340 <a name="section-FunctionDetails"></a>
341 <table class="details" border="1" cellpadding="3"
342        cellspacing="0" width="100%" bgcolor="white">
343 <tr bgcolor="#70b0f0" class="table-header">
344   <td colspan="2" class="table-header">
345     <table border="0" cellpadding="0" cellspacing="0" width="100%">
346       <tr valign="top">
347         <td align="left"><span class="table-header">Function Details</span></td>
348         <td align="right" valign="top"
349          ><span class="options">[<a href="#section-FunctionDetails"
350          class="privatelink" onclick="toggle_private();"
351          >hide private</a>]</span></td>
352       </tr>
353     </table>
354   </td>
355 </tr>
356 </table>
357 <a name="install"></a>
358 <div>
359 <table class="details" border="1" cellpadding="3"
360        cellspacing="0" width="100%" bgcolor="white">
361 <tr><td>
362   <table width="100%" cellpadding="0" cellspacing="0" border="0">
363   <tr valign="top"><td>
364   <h3 class="epydoc"><span class="sig"><span class="sig-name">install</span>(<span class="sig-arg">html</span>=<span class="sig-default">False</span>)</span>
365   </h3>
366   </td><td align="right" valign="top"
367     ><span class="codelink"><a href="lxml.doctestcompare-pysrc.html#install">source&nbsp;code</a></span>&nbsp;
368     </td>
369   </tr></table>
370   
371   <p>Install doctestcompare for all future doctests.</p>
372 <p>If html is true, then by default the HTML parser will be used;
373 otherwise the XML parser is used.</p>
374   <dl class="fields">
375   </dl>
376 </td></tr></table>
377 </div>
378 <a name="temp_install"></a>
379 <div>
380 <table class="details" border="1" cellpadding="3"
381        cellspacing="0" width="100%" bgcolor="white">
382 <tr><td>
383   <table width="100%" cellpadding="0" cellspacing="0" border="0">
384   <tr valign="top"><td>
385   <h3 class="epydoc"><span class="sig"><span class="sig-name">temp_install</span>(<span class="sig-arg">html</span>=<span class="sig-default">False</span>,
386         <span class="sig-arg">del_module</span>=<span class="sig-default">None</span>)</span>
387   </h3>
388   </td><td align="right" valign="top"
389     ><span class="codelink"><a href="lxml.doctestcompare-pysrc.html#temp_install">source&nbsp;code</a></span>&nbsp;
390     </td>
391   </tr></table>
392   
393   <p>Use this <em>inside</em> a doctest to enable this checker for this
394 doctest only.</p>
395 <p>If html is true, then by default the HTML parser will be used;
396 otherwise the XML parser is used.</p>
397   <dl class="fields">
398   </dl>
399 </td></tr></table>
400 </div>
401 <br />
402 <!-- ==================== VARIABLES DETAILS ==================== -->
403 <a name="section-VariablesDetails"></a>
404 <table class="details" border="1" cellpadding="3"
405        cellspacing="0" width="100%" bgcolor="white">
406 <tr bgcolor="#70b0f0" class="table-header">
407   <td colspan="2" class="table-header">
408     <table border="0" cellpadding="0" cellspacing="0" width="100%">
409       <tr valign="top">
410         <td align="left"><span class="table-header">Variables Details</span></td>
411         <td align="right" valign="top"
412          ><span class="options">[<a href="#section-VariablesDetails"
413          class="privatelink" onclick="toggle_private();"
414          >hide private</a>]</span></td>
415       </tr>
416     </table>
417   </td>
418 </tr>
419 </table>
420 <a name="__test__"></a>
421 <div class="private">
422 <table class="details" border="1" cellpadding="3"
423        cellspacing="0" width="100%" bgcolor="white">
424 <tr><td>
425   <h3 class="epydoc">__test__</h3>
426   
427   <dl class="fields">
428   </dl>
429   <dl class="fields">
430     <dt>Value:</dt>
431       <dd><table><tr><td><pre class="variable">
432 <code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">basic</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'''</code><code class="variable-string"></code>
433 <code class="variable-string">    &gt;&gt;&gt; temp_install()</code>
434 <code class="variable-string">    &gt;&gt;&gt; print &quot;&quot;&quot;&lt;xml a=&quot;1&quot; b=&quot;2&quot;&gt;stuff&lt;/xml&gt;&quot;&quot;&quot;</code>
435 <code class="variable-string">    &lt;xml b=&quot;2&quot; a=&quot;1&quot;&gt;...&lt;/xml&gt;</code>
436 <code class="variable-string">    &gt;&gt;&gt; print &quot;&quot;&quot;&lt;xml xmlns=&quot;http://example.com&quot;&gt;&lt;tag   attr=&quot;bar&quot;   /</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
437 <code class="variable-string">&gt;&lt;/xml&gt;&quot;&quot;&quot;</code>
438 <code class="variable-string">    &lt;xml xmlns=&quot;...&quot;&gt;</code>
439 <code class="variable-string">      &lt;tag attr=&quot;...&quot; /&gt;</code>
440 <code class="variable-ellipsis">...</code>
441 </pre></td></tr></table>
442 </dd>
443   </dl>
444 </td></tr></table>
445 </div>
446 <br />
447 <!-- ==================== NAVIGATION BAR ==================== -->
448 <table class="navbar" border="0" width="100%" cellpadding="0"
449        bgcolor="#a0c0ff" cellspacing="0">
450   <tr valign="middle">
451   <!-- Home link -->
452       <th>&nbsp;&nbsp;&nbsp;<a
453         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
454
455   <!-- Tree link -->
456       <th>&nbsp;&nbsp;&nbsp;<a
457         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
458
459   <!-- Index link -->
460       <th>&nbsp;&nbsp;&nbsp;<a
461         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
462
463   <!-- Help link -->
464       <th>&nbsp;&nbsp;&nbsp;<a
465         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
466
467   <!-- Project homepage -->
468       <th class="navbar" align="right" width="100%">
469         <table border="0" cellpadding="0" cellspacing="0">
470           <tr><th class="navbar" align="center"
471             ><a class="navbar" target="_top" href="/">lxml API</a></th>
472           </tr></table></th>
473   </tr>
474 </table>
475 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
476   <tr>
477     <td align="left" class="footer">
478     Generated by Epydoc 3.0.1
479     on Thu Jul  9 18:29:53 2020
480     </td>
481     <td align="right" class="footer">
482       <a target="mainFrame" href="http://epydoc.sourceforge.net"
483         >http://epydoc.sourceforge.net</a>
484     </td>
485   </tr>
486 </table>
487
488 <script type="text/javascript">
489   <!--
490   // Private objects are initially displayed (because if
491   // javascript is turned off then we want them to be
492   // visible); but by default, we want to hide them.  So hide
493   // them unless we have a cookie that says to show them.
494   checkCookie();
495   // -->
496 </script>
497 </body>
498 </html>