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">
6 <title>lxml.tests.selftest2</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
18 <th> <a
19 href="lxml-module.html">Home</a> </th>
22 <th> <a
23 href="module-tree.html">Trees</a> </th>
26 <th> <a
27 href="identifier-index.html">Indices</a> </th>
30 <th> <a
31 href="help.html">Help</a> </th>
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>
41 <table width="100%" cellpadding="0" cellspacing="0">
44 <span class="breadcrumbs">
45 <a href="lxml-module.html">Package lxml</a> ::
46 <a href="lxml.tests-module.html">Package tests</a> ::
51 <table cellpadding="0" cellspacing="0">
52 <!-- hide/show private -->
53 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54 onclick="toggle_private();">hide private</a>]</span></td></tr>
55 <tr><td align="right"><span class="options"
56 >[<a href="frames.html" target="_top">frames</a
57 >] | <a href="lxml.tests.selftest2-module.html"
58 target="_top">no frames</a>]</span></td></tr>
63 <!-- ==================== MODULE DESCRIPTION ==================== -->
64 <h1 class="epydoc">Module selftest2</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.tests.selftest2-pysrc.html">source code</a></span></p>
65 <!-- ==================== FUNCTIONS ==================== -->
66 <a name="section-Functions"></a>
67 <table class="summary" border="1" cellpadding="3"
68 cellspacing="0" width="100%" bgcolor="white">
69 <tr bgcolor="#70b0f0" class="table-header">
70 <td colspan="2" class="table-header">
71 <table border="0" cellpadding="0" cellspacing="0" width="100%">
73 <td align="left"><span class="table-header">Functions</span></td>
74 <td align="right" valign="top"
75 ><span class="options">[<a href="#section-Functions"
76 class="privatelink" onclick="toggle_private();"
77 >hide private</a>]</span></td>
83 <td width="15%" align="right" valign="top" class="summary">
84 <span class="summary-type"> </span>
85 </td><td class="summary">
86 <table width="100%" cellpadding="0" cellspacing="0" border="0">
88 <td><span class="summary-sig"><a name="stdout"></a><span class="summary-sig-name">stdout</span>()</span></td>
89 <td align="right" valign="top">
90 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#stdout">source code</a></span>
99 <td width="15%" align="right" valign="top" class="summary">
100 <span class="summary-type"> </span>
101 </td><td class="summary">
102 <table width="100%" cellpadding="0" cellspacing="0" border="0">
104 <td><span class="summary-sig"><a name="unserialize"></a><span class="summary-sig-name">unserialize</span>(<span class="summary-sig-arg">text</span>)</span></td>
105 <td align="right" valign="top">
106 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#unserialize">source code</a></span>
115 <td width="15%" align="right" valign="top" class="summary">
116 <span class="summary-type"> </span>
117 </td><td class="summary">
118 <table width="100%" cellpadding="0" cellspacing="0" border="0">
120 <td><span class="summary-sig"><a name="serialize"></a><span class="summary-sig-name">serialize</span>(<span class="summary-sig-arg">elem</span>,
121 <span class="summary-sig-arg">encoding</span>=<span class="summary-sig-default">None</span>)</span></td>
122 <td align="right" valign="top">
123 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#serialize">source code</a></span>
132 <td width="15%" align="right" valign="top" class="summary">
133 <span class="summary-type"> </span>
134 </td><td class="summary">
135 <table width="100%" cellpadding="0" cellspacing="0" border="0">
137 <td><span class="summary-sig"><a name="summarize"></a><span class="summary-sig-name">summarize</span>(<span class="summary-sig-arg">elem</span>)</span></td>
138 <td align="right" valign="top">
139 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#summarize">source code</a></span>
148 <td width="15%" align="right" valign="top" class="summary">
149 <span class="summary-type"> </span>
150 </td><td class="summary">
151 <table width="100%" cellpadding="0" cellspacing="0" border="0">
153 <td><span class="summary-sig"><a name="summarize_list"></a><span class="summary-sig-name">summarize_list</span>(<span class="summary-sig-arg">seq</span>)</span></td>
154 <td align="right" valign="top">
155 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#summarize_list">source code</a></span>
164 <td width="15%" align="right" valign="top" class="summary">
165 <span class="summary-type"> </span>
166 </td><td class="summary">
167 <table width="100%" cellpadding="0" cellspacing="0" border="0">
169 <td><span class="summary-sig"><a name="check_string"></a><span class="summary-sig-name">check_string</span>(<span class="summary-sig-arg">string</span>)</span></td>
170 <td align="right" valign="top">
171 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#check_string">source code</a></span>
180 <td width="15%" align="right" valign="top" class="summary">
181 <span class="summary-type"> </span>
182 </td><td class="summary">
183 <table width="100%" cellpadding="0" cellspacing="0" border="0">
185 <td><span class="summary-sig"><a name="check_mapping"></a><span class="summary-sig-name">check_mapping</span>(<span class="summary-sig-arg">mapping</span>)</span></td>
186 <td align="right" valign="top">
187 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#check_mapping">source code</a></span>
196 <td width="15%" align="right" valign="top" class="summary">
197 <span class="summary-type"> </span>
198 </td><td class="summary">
199 <table width="100%" cellpadding="0" cellspacing="0" border="0">
201 <td><span class="summary-sig"><a name="check_element"></a><span class="summary-sig-name">check_element</span>(<span class="summary-sig-arg">element</span>)</span></td>
202 <td align="right" valign="top">
203 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#check_element">source code</a></span>
212 <td width="15%" align="right" valign="top" class="summary">
213 <span class="summary-type"> </span>
214 </td><td class="summary">
215 <table width="100%" cellpadding="0" cellspacing="0" border="0">
217 <td><span class="summary-sig"><a name="check_element_tree"></a><span class="summary-sig-name">check_element_tree</span>(<span class="summary-sig-arg">tree</span>)</span></td>
218 <td align="right" valign="top">
219 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#check_element_tree">source code</a></span>
228 <td width="15%" align="right" valign="top" class="summary">
229 <span class="summary-type"> </span>
230 </td><td class="summary">
231 <table width="100%" cellpadding="0" cellspacing="0" border="0">
233 <td><span class="summary-sig"><a name="element"></a><span class="summary-sig-name">element</span>()</span><br />
234 Test element tree interface.</td>
235 <td align="right" valign="top">
236 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#element">source code</a></span>
245 <td width="15%" align="right" valign="top" class="summary">
246 <span class="summary-type"> </span>
247 </td><td class="summary">
248 <table width="100%" cellpadding="0" cellspacing="0" border="0">
250 <td><span class="summary-sig"><a name="parsefile"></a><span class="summary-sig-name">parsefile</span>()</span><br />
251 Test parsing from file. Note that we're opening the files in
252 here; by default, the 'parse' function opens the file in binary
253 mode, and doctest doesn't filter out carriage returns.</td>
254 <td align="right" valign="top">
255 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#parsefile">source code</a></span>
264 <td width="15%" align="right" valign="top" class="summary">
265 <span class="summary-type"> </span>
266 </td><td class="summary">
267 <table width="100%" cellpadding="0" cellspacing="0" border="0">
269 <td><span class="summary-sig"><a name="writefile"></a><span class="summary-sig-name">writefile</span>()</span></td>
270 <td align="right" valign="top">
271 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#writefile">source code</a></span>
280 <td width="15%" align="right" valign="top" class="summary">
281 <span class="summary-type"> </span>
282 </td><td class="summary">
283 <table width="100%" cellpadding="0" cellspacing="0" border="0">
285 <td><span class="summary-sig"><a name="encoding"></a><span class="summary-sig-name">encoding</span>()</span><br />
286 Test encoding issues.</td>
287 <td align="right" valign="top">
288 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#encoding">source code</a></span>
297 <td width="15%" align="right" valign="top" class="summary">
298 <span class="summary-type"> </span>
299 </td><td class="summary">
300 <table width="100%" cellpadding="0" cellspacing="0" border="0">
302 <td><span class="summary-sig"><a href="lxml.tests.selftest2-module.html#qname" class="summary-sig-name">qname</a>()</span><br />
303 Test QName handling.</td>
304 <td align="right" valign="top">
305 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#qname">source code</a></span>
314 <td width="15%" align="right" valign="top" class="summary">
315 <span class="summary-type"> </span>
316 </td><td class="summary">
317 <table width="100%" cellpadding="0" cellspacing="0" border="0">
319 <td><span class="summary-sig"><a name="cdata"></a><span class="summary-sig-name">cdata</span>()</span><br />
320 Test CDATA handling (etc).</td>
321 <td align="right" valign="top">
322 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#cdata">source code</a></span>
331 <td width="15%" align="right" valign="top" class="summary">
332 <span class="summary-type"> </span>
333 </td><td class="summary">
334 <table width="100%" cellpadding="0" cellspacing="0" border="0">
336 <td><span class="summary-sig"><a name="find"></a><span class="summary-sig-name">find</span>()</span><br />
337 Test find methods (including xpath syntax).</td>
338 <td align="right" valign="top">
339 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#find">source code</a></span>
348 <td width="15%" align="right" valign="top" class="summary">
349 <span class="summary-type"> </span>
350 </td><td class="summary">
351 <table width="100%" cellpadding="0" cellspacing="0" border="0">
353 <td><span class="summary-sig"><a href="lxml.tests.selftest2-module.html#copy" class="summary-sig-name">copy</a>()</span><br />
354 Test copy handling (etc).</td>
355 <td align="right" valign="top">
356 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#copy">source code</a></span>
365 <td width="15%" align="right" valign="top" class="summary">
366 <span class="summary-type"> </span>
367 </td><td class="summary">
368 <table width="100%" cellpadding="0" cellspacing="0" border="0">
370 <td><span class="summary-sig"><a name="attrib"></a><span class="summary-sig-name">attrib</span>()</span><br />
371 Test attribute handling.</td>
372 <td align="right" valign="top">
373 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#attrib">source code</a></span>
382 <td width="15%" align="right" valign="top" class="summary">
383 <span class="summary-type"> </span>
384 </td><td class="summary">
385 <table width="100%" cellpadding="0" cellspacing="0" border="0">
387 <td><span class="summary-sig"><a name="makeelement"></a><span class="summary-sig-name">makeelement</span>()</span><br />
388 Test makeelement handling.</td>
389 <td align="right" valign="top">
390 <span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#makeelement">source code</a></span>
399 <!-- ==================== VARIABLES ==================== -->
400 <a name="section-Variables"></a>
401 <table class="summary" border="1" cellpadding="3"
402 cellspacing="0" width="100%" bgcolor="white">
403 <tr bgcolor="#70b0f0" class="table-header">
404 <td colspan="2" class="table-header">
405 <table border="0" cellpadding="0" cellspacing="0" width="100%">
407 <td align="left"><span class="table-header">Variables</span></td>
408 <td align="right" valign="top"
409 ><span class="options">[<a href="#section-Variables"
410 class="privatelink" onclick="toggle_private();"
411 >hide private</a>]</span></td>
417 <td width="15%" align="right" valign="top" class="summary">
418 <span class="summary-type"> </span>
419 </td><td class="summary">
420 <a href="lxml.tests.selftest2-module.html#SAMPLE_XML" class="summary-name">SAMPLE_XML</a> = <code title="unserialize("""
422 <tag>text</tag>
425 <tag>subtext</tag>
428 ...">unserialize(<code class="variable-ellipsis">...</code></code>
432 <td width="15%" align="right" valign="top" class="summary">
433 <span class="summary-type"> </span>
434 </td><td class="summary">
435 <a href="lxml.tests.selftest2-module.html#SAMPLE_XML_NS" class="summary-name">SAMPLE_XML_NS</a> = <code title="unserialize("""
436 <body xmlns="http://effbot.org/ns">
437 <tag>text</tag>
440 <tag>subtext</tag>
443 ...">unserialize(<code class="variable-ellipsis">...</code></code>
447 <td width="15%" align="right" valign="top" class="summary">
448 <span class="summary-type"> </span>
449 </td><td class="summary">
450 <a href="lxml.tests.selftest2-module.html#ENTITY_XML" class="summary-name">ENTITY_XML</a> = <code title="'''<!DOCTYPE points [
451 <!ENTITY % user-entities SYSTEM \'user-entities.xml\'>
454 <document>&entity;</document>
455 '''"><code class="variable-quote">'</code><code class="variable-string"><!DOCTYPE points [\n<!ENTITY % user-entities SYS</code><code class="variable-ellipsis">...</code></code>
459 <td width="15%" align="right" valign="top" class="summary">
460 <span class="summary-type"> </span>
461 </td><td class="summary">
462 <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'lxml.tests'"><code class="variable-quote">'</code><code class="variable-string">lxml.tests</code><code class="variable-quote">'</code></code>
466 <!-- ==================== FUNCTION DETAILS ==================== -->
467 <a name="section-FunctionDetails"></a>
468 <table class="details" border="1" cellpadding="3"
469 cellspacing="0" width="100%" bgcolor="white">
470 <tr bgcolor="#70b0f0" class="table-header">
471 <td colspan="2" class="table-header">
472 <table border="0" cellpadding="0" cellspacing="0" width="100%">
474 <td align="left"><span class="table-header">Function Details</span></td>
475 <td align="right" valign="top"
476 ><span class="options">[<a href="#section-FunctionDetails"
477 class="privatelink" onclick="toggle_private();"
478 >hide private</a>]</span></td>
486 <table class="details" border="1" cellpadding="3"
487 cellspacing="0" width="100%" bgcolor="white">
489 <table width="100%" cellpadding="0" cellspacing="0" border="0">
490 <tr valign="top"><td>
491 <h3 class="epydoc"><span class="sig"><span class="sig-name">qname</span>()</span>
493 </td><td align="right" valign="top"
494 ><span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#qname">source code</a></span>
499 <p>Test QName handling.</p>
500 <ol class="rst-arabic simple">
501 <li>decorated tags</li>
503 <pre class="py-doctest">
504 <span class="py-prompt">>>> </span>elem = ElementTree.Element(<span class="py-string">"{uri}tag"</span>)
505 <span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 1.1</span>
506 <span class="py-output">'<ns0:tag xmlns:ns0="uri"/>'</span></pre>
508 <p>## 2) decorated attributes</p>
509 <p>## >>> elem.attrib["{uri}key"] = "value"
510 ## >>> serialize(elem) # 2.1
511 ## '<ns0:tag ns0:key="value" xmlns:ns0="uri"/>'</p>
518 <table class="details" border="1" cellpadding="3"
519 cellspacing="0" width="100%" bgcolor="white">
521 <table width="100%" cellpadding="0" cellspacing="0" border="0">
522 <tr valign="top"><td>
523 <h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>()</span>
525 </td><td align="right" valign="top"
526 ><span class="codelink"><a href="lxml.tests.selftest2-pysrc.html#copy">source code</a></span>
531 <p>Test copy handling (etc).</p>
532 <pre class="py-doctest">
533 <span class="py-prompt">>>> </span><span class="py-keyword">import</span> <span class="py-builtin">copy</span>
534 <span class="py-prompt">>>> </span>e1 = unserialize(<span class="py-string">"<tag>hello<foo/></tag>"</span>)
535 <span class="py-prompt">>>> </span><span class="py-comment"># e2 = copy.copy(e1)</span>
536 <span class="py-prompt">>>> </span>e3 = <span class="py-builtin">copy</span>.deepcopy(e1)
537 <span class="py-prompt">>>> </span>e1.find(<span class="py-string">"foo"</span>).tag = <span class="py-string">"bar"</span></pre>
538 <pre class="py-doctest">
539 <span class="py-prompt">>>> </span>serialize(e1).replace(<span class="py-string">' '</span>, <span class="py-string">''</span>)
540 <span class="py-output">'<tag>hello<bar/></tag>'</span></pre>
542 <p>## >>> serialize(e2).replace(' ', '')
543 ## '<tag>hello<bar/></tag>'</p>
545 <pre class="py-doctest">
546 <span class="py-prompt">>>> </span>serialize(e3).replace(<span class="py-string">' '</span>, <span class="py-string">''</span>)
547 <span class="py-output">'<tag>hello<foo/></tag>'</span></pre>
554 <!-- ==================== VARIABLES DETAILS ==================== -->
555 <a name="section-VariablesDetails"></a>
556 <table class="details" border="1" cellpadding="3"
557 cellspacing="0" width="100%" bgcolor="white">
558 <tr bgcolor="#70b0f0" class="table-header">
559 <td colspan="2" class="table-header">
560 <table border="0" cellpadding="0" cellspacing="0" width="100%">
562 <td align="left"><span class="table-header">Variables Details</span></td>
563 <td align="right" valign="top"
564 ><span class="options">[<a href="#section-VariablesDetails"
565 class="privatelink" onclick="toggle_private();"
566 >hide private</a>]</span></td>
572 <a name="SAMPLE_XML"></a>
574 <table class="details" border="1" cellpadding="3"
575 cellspacing="0" width="100%" bgcolor="white">
577 <h3 class="epydoc">SAMPLE_XML</h3>
583 <dd><table><tr><td><pre class="variable">
584 unserialize("""
586 <tag>text</tag>
589 <tag>subtext</tag>
592 <code class="variable-ellipsis">...</code>
593 </pre></td></tr></table>
598 <a name="SAMPLE_XML_NS"></a>
600 <table class="details" border="1" cellpadding="3"
601 cellspacing="0" width="100%" bgcolor="white">
603 <h3 class="epydoc">SAMPLE_XML_NS</h3>
609 <dd><table><tr><td><pre class="variable">
610 unserialize("""
611 <body xmlns="http://effbot.org/ns">
612 <tag>text</tag>
615 <tag>subtext</tag>
618 <code class="variable-ellipsis">...</code>
619 </pre></td></tr></table>
624 <a name="ENTITY_XML"></a>
626 <table class="details" border="1" cellpadding="3"
627 cellspacing="0" width="100%" bgcolor="white">
629 <h3 class="epydoc">ENTITY_XML</h3>
635 <dd><table><tr><td><pre class="variable">
636 <code class="variable-quote">'''</code><code class="variable-string"><!DOCTYPE points [</code>
637 <code class="variable-string"><!ENTITY % user-entities SYSTEM \'user-entities.xml\'></code>
638 <code class="variable-string">%user-entities;</code>
639 <code class="variable-string">]></code>
640 <code class="variable-string"><document>&entity;</document></code>
641 <code class="variable-string"></code><code class="variable-quote">'''</code>
642 </pre></td></tr></table>
648 <!-- ==================== NAVIGATION BAR ==================== -->
649 <table class="navbar" border="0" width="100%" cellpadding="0"
650 bgcolor="#a0c0ff" cellspacing="0">
653 <th> <a
654 href="lxml-module.html">Home</a> </th>
657 <th> <a
658 href="module-tree.html">Trees</a> </th>
661 <th> <a
662 href="identifier-index.html">Indices</a> </th>
665 <th> <a
666 href="help.html">Help</a> </th>
668 <!-- Project homepage -->
669 <th class="navbar" align="right" width="100%">
670 <table border="0" cellpadding="0" cellspacing="0">
671 <tr><th class="navbar" align="center"
672 ><a class="navbar" target="_top" href="/">lxml API</a></th>
676 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
678 <td align="left" class="footer">
679 Generated by Epydoc 3.0.1
680 on Thu Jul 9 18:29:53 2020
682 <td align="right" class="footer">
683 <a target="mainFrame" href="http://epydoc.sourceforge.net"
684 >http://epydoc.sourceforge.net</a>
689 <script type="text/javascript">
691 // Private objects are initially displayed (because if
692 // javascript is turned off then we want them to be
693 // visible); but by default, we want to hide them. So hide
694 // them unless we have a cookie that says to show them.