<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>lxml.tests.selftest</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th> <a
href="lxml-module.html">Home</a> </th>
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="/">lxml API</a></th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="lxml-module.html">Package lxml</a> ::
<a href="lxml.tests-module.html">Package tests</a> ::
Module selftest
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>] | <a href="lxml.tests.selftest-module.html"
target="_top">no frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module selftest</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.tests.selftest-pysrc.html">source code</a></span></p>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="stdout"></a><span class="summary-sig-name">stdout</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#stdout">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="fix_compatibility"></a><span class="summary-sig-name">fix_compatibility</span>(<span class="summary-sig-arg">xml_data</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#fix_compatibility">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="serialize"></a><span class="summary-sig-name">serialize</span>(<span class="summary-sig-arg">elem</span>,
<span class="summary-sig-arg">**options</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#serialize">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#summarize">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#summarize_list">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="normalize_crlf"></a><span class="summary-sig-name">normalize_crlf</span>(<span class="summary-sig-arg">tree</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#normalize_crlf">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#check_string">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="check_string_or_none"></a><span class="summary-sig-name">check_string_or_none</span>(<span class="summary-sig-arg">value</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#check_string_or_none">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#check_mapping">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#check_element">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<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>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#check_element_tree">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="interface"></a><span class="summary-sig-name">interface</span>()</span><br />
Test element tree interface.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#interface">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="simpleops"></a><span class="summary-sig-name">simpleops</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#simpleops">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#find" class="summary-sig-name">find</a>()</span><br />
Test find methods (including xpath syntax).</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#find">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#bad_find" class="summary-sig-name">bad_find</a>()</span><br />
Check bad or unsupported path expressions.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#bad_find">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#parsefile" class="summary-sig-name">parsefile</a>()</span><br />
Test parsing from file.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#parsefile">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#parseliteral" class="summary-sig-name">parseliteral</a>()</span><br />
## >>> sequence = ["<html><body>", "text</bo", "dy></html>"]
## >>> element = ElementTree.fromstringlist(sequence)
## >>> ElementTree.ElementTree(element).write(stdout())
## <html><body>text</body></html></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#parseliteral">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="iterparse"></a><span class="summary-sig-name">iterparse</span>()</span><br />
Test iterparse interface.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#iterparse">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="writefile"></a><span class="summary-sig-name">writefile</span>()</span><br />
## Test tag suppression
## >>> elem.tag = None
## >>> serialize(elem)
## 'text<subtag>subtext</subtag>'</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#writefile">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="writestring"></a><span class="summary-sig-name">writestring</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#writestring">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="encoding"></a><span class="summary-sig-name">encoding</span>()</span><br />
Test encoding issues.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#encoding">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="iterators"></a><span class="summary-sig-name">iterators</span>()</span><br />
Test iterators.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#iterators">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#namespace" class="summary-sig-name">namespace</a>()</span><br />
Test namespace issues.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#namespace">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#qname" class="summary-sig-name">qname</a>()</span><br />
Test QName handling.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#qname">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="xpath_tokenizer"></a><span class="summary-sig-name">xpath_tokenizer</span>(<span class="summary-sig-arg">p</span>)</span><br />
Test the XPath tokenizer.</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#xpath_tokenizer">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="xinclude_loader"></a><span class="summary-sig-name">xinclude_loader</span>(<span class="summary-sig-arg">href</span>,
<span class="summary-sig-arg">parse</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">xml</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">encoding</span>=<span class="summary-sig-default">None</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#xinclude_loader">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="lxml.tests.selftest-module.html#xinclude" class="summary-sig-name">xinclude</a>()</span><br />
Basic inclusion example (XInclude C.1)</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#xinclude">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="xinclude_default"></a><span class="summary-sig-name">xinclude_default</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#xinclude_default">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="bug_xmltoolkit25"></a><span class="summary-sig-name">bug_xmltoolkit25</span>()</span><br />
typo in ElementTree.findtext</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#bug_xmltoolkit25">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="bug_xmltoolkit28"></a><span class="summary-sig-name">bug_xmltoolkit28</span>()</span><br />
.//tag causes exceptions</td>
<td align="right" valign="top">
<span class="codelink"><a href="lxml.tests.selftest-pysrc.html#bug_xmltoolkit28">source code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.tests.selftest-module.html#SAMPLE_XML" class="summary-name">SAMPLE_XML</a> = <code title="ElementTree.XML("""
<body>
<tag class='a'>text</tag>
<tag class='b' />
<section>
<tag class='b' id='inner'>subtext</tag>
</section>
</body>
...">ElementTree.XML(<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.tests.selftest-module.html#ENTITY_XML" class="summary-name">ENTITY_XML</a> = <code title="'''<!DOCTYPE points [
<!ENTITY % user-entities SYSTEM \'user-entities.xml\'>
%user-entities;
]>
<document>&entity;</document>
'''"><code class="variable-quote">'</code><code class="variable-string"><!DOCTYPE points [\n<!ENTITY % user-entities SYS</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<a href="lxml.tests.selftest-module.html#XINCLUDE" class="summary-name">XINCLUDE</a> = <code title="{'C1.xml': '''<?xml version=\'1.0\'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
<p>120 Mz is adequate for an average home user.</p>
<xi:include href="disclaimer.xml"/>
</document>
''',
'C2.xml': '''<?xml version=\'1.0\'?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">C1.xml</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string"><?xml version=\'1.0\'?>\n<document xmln</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type"> </span>
</td><td class="summary">
<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>
</td>
</tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Function Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-FunctionDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="find"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">find</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#find">source code</a></span>
</td>
</tr></table>
<p>Test find methods (including xpath syntax).</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = SAMPLE_XML
<span class="py-prompt">>>> </span>elem.find(<span class="py-string">"tag"</span>).tag
<span class="py-output">'tag'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>ElementTree.ElementTree(elem).find(<span class="py-string">"tag"</span>).tag
<span class="py-output">'tag'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem.find(<span class="py-string">"section/tag"</span>).tag
<span class="py-output">'tag'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>ElementTree.ElementTree(elem).find(<span class="py-string">"section/tag"</span>).tag
<span class="py-output">'tag'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem.findtext(<span class="py-string">"tag"</span>)
<span class="py-output">'text'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem.findtext(<span class="py-string">"tog"</span>)
<span class="py-prompt">>>> </span>elem.findtext(<span class="py-string">"tog"</span>, <span class="py-string">"default"</span>)
<span class="py-output">'default'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>ElementTree.ElementTree(elem).findtext(<span class="py-string">"tag"</span>)
<span class="py-output">'text'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem.findtext(<span class="py-string">"section/tag"</span>)
<span class="py-output">'subtext'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>ElementTree.ElementTree(elem).findtext(<span class="py-string">"section/tag"</span>)
<span class="py-output">'subtext'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"tag"</span>))
<span class="py-output">['tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"*"</span>))
<span class="py-output">['tag', 'tag', 'section']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag"</span>))
<span class="py-output">['tag', 'tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section/tag"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section//tag"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section/*"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section//*"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section/.//*"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"*/*"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"*//*"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"*/tag"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"*/./tag"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"./tag"</span>))
<span class="py-output">['tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag"</span>))
<span class="py-output">['tag', 'tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"././tag"</span>))
<span class="py-output">['tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag[@class]"</span>))
<span class="py-output">['tag', 'tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag[@class='a']"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag[@class='b']"</span>))
<span class="py-output">['tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//tag[@id]"</span>))
<span class="py-output">['tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//section[tag]"</span>))
<span class="py-output">['section']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">".//section[element]"</span>))
<span class="py-output">[]</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"../tag"</span>))
<span class="py-output">[]</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(elem.findall(<span class="py-string">"section/../tag"</span>))
<span class="py-output">['tag', 'tag']</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>summarize_list(ElementTree.ElementTree(elem).findall(<span class="py-string">"./tag"</span>))
<span class="py-output">['tag', 'tag']</span></pre>
<p>FIXME: ET's Path module handles this case incorrectly; this gives
a warning in 1.3, and the behaviour will be modified in 1.4.</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>summarize_list(ElementTree.ElementTree(elem).findall(<span class="py-string">"/tag"</span>))
<span class="py-output">['tag', 'tag']</span></pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="bad_find"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">bad_find</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#bad_find">source code</a></span>
</td>
</tr></table>
<p>Check bad or unsupported path expressions.</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = SAMPLE_XML
<span class="py-prompt">>>> </span>elem.findall(<span class="py-string">"/tag"</span>)
<span class="py-except">Traceback (most recent call last):</span>
<span class="py-except">SyntaxError: cannot use absolute path on element</span></pre>
<p># this is supported in ET 1.3:
#>>> elem.findall("section//")
#Traceback (most recent call last):
#SyntaxError: invalid path</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="parsefile"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">parsefile</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#parsefile">source code</a></span>
</td>
</tr></table>
<blockquote>
<p>Test parsing from file.</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>tree = ElementTree.parse(<span class="py-string">"samples/simple.xml"</span>)
<span class="py-prompt">>>> </span>normalize_crlf(tree)
<span class="py-prompt">>>> </span>tree.write(stdout())
<span class="py-output"><root></span>
<span class="py-output"> <element key="value">text</element></span>
<span class="py-output"> <element>text</element>tail</span>
<span class="py-output"> <empty-element/></span>
<span class="py-output"></root></span>
<span class="py-output"></span><span class="py-prompt">>>> </span>tree = ElementTree.parse(<span class="py-string">"samples/simple-ns.xml"</span>)
<span class="py-prompt">>>> </span>normalize_crlf(tree)
<span class="py-prompt">>>> </span>tree.write(stdout())
<span class="py-output"><root xmlns="http://namespace/"></span>
<span class="py-output"> <element key="value">text</element></span>
<span class="py-output"> <element>text</element>tail</span>
<span class="py-output"> <empty-element/></span>
<span class="py-output"></root></span></pre>
</blockquote>
<p>## <ns0:root xmlns:ns0="http://namespace/">
## <ns0:element key="value">text</ns0:element>
## <ns0:element>text</ns0:element>tail
## <ns0:empty-element/>
## </ns0:root></p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="parseliteral"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">parseliteral</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#parseliteral">source code</a></span>
</td>
</tr></table>
<blockquote>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>element = ElementTree.XML(<span class="py-string">"<html><body>text</body></html>"</span>)
<span class="py-prompt">>>> </span>ElementTree.ElementTree(element).write(stdout())
<span class="py-output"><html><body>text</body></html></span>
<span class="py-output"></span><span class="py-prompt">>>> </span>element = ElementTree.fromstring(<span class="py-string">"<html><body>text</body></html>"</span>)
<span class="py-prompt">>>> </span>ElementTree.ElementTree(element).write(stdout())
<span class="py-output"><html><body>text</body></html></span></pre>
</blockquote>
<p>## >>> sequence = ["<html><body>", "text</bo", "dy></html>"]
## >>> element = ElementTree.fromstringlist(sequence)
## >>> ElementTree.ElementTree(element).write(stdout())
## <html><body>text</body></html></p>
<blockquote>
<pre class="py-doctest">
<span class="py-prompt">>>> </span><span class="py-keyword">print</span>(repr(ElementTree.tostring(element)).lstrip(<span class="py-string">'b'</span>))
<span class="py-output">'<html><body>text</body></html>'</span></pre>
</blockquote>
<p># looks different in lxml
# >>> print(ElementTree.tostring(element, "ascii"))
# <?xml version='1.0' encoding='ascii'?>
# <html><body>text</body></html></p>
<blockquote>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>_, ids = ElementTree.XMLID(<span class="py-string">"<html><body>text</body></html>"</span>)
<span class="py-prompt">>>> </span>len(ids)
<span class="py-output">0</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>_, ids = ElementTree.XMLID(<span class="py-string">"<html><body id='body'>text</body></html>"</span>)
<span class="py-prompt">>>> </span>len(ids)
<span class="py-output">1</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>ids[<span class="py-string">"body"</span>].tag
<span class="py-output">'body'</span></pre>
</blockquote>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="namespace"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">namespace</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#namespace">source code</a></span>
</td>
</tr></table>
<p>Test namespace issues.</p>
<ol class="rst-arabic simple">
<li>xml namespace</li>
</ol>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = ElementTree.XML(<span class="py-string">"<tag xml:lang='en' />"</span>)
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 1.1</span>
<span class="py-output">'<tag xml:lang="en"/>'</span></pre>
<ol class="rst-arabic simple" start="2">
<li>other "well-known" namespaces</li>
</ol>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = ElementTree.XML(<span class="py-string">"<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' />"</span>)
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 2.1</span>
<span class="py-output">'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>'</span></pre>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = ElementTree.XML(<span class="py-string">"<html:html xmlns:html='http://www.w3.org/1999/xhtml' />"</span>)
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 2.2</span>
<span class="py-output">'<html:html xmlns:html="http://www.w3.org/1999/xhtml"/>'</span></pre>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = ElementTree.XML(<span class="py-string">"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope' />"</span>)
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 2.3</span>
<span class="py-output">'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope"/>'</span></pre>
<ol class="rst-arabic simple" start="3">
<li>unknown namespaces</li>
</ol>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="qname"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">qname</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#qname">source code</a></span>
</td>
</tr></table>
<blockquote>
<p>Test QName handling.</p>
<ol class="rst-arabic simple">
<li>decorated tags</li>
</ol>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>elem = ElementTree.Element(<span class="py-string">"{uri}tag"</span>)
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 1.1</span>
<span class="py-output">'<ns0:tag xmlns:ns0="uri"/>'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem = ElementTree.Element(ElementTree.QName(<span class="py-string">"{uri}tag"</span>))
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 1.2</span>
<span class="py-output">'<ns0:tag xmlns:ns0="uri"/>'</span>
<span class="py-output"></span><span class="py-prompt">>>> </span>elem = ElementTree.Element(ElementTree.QName(<span class="py-string">"uri"</span>, <span class="py-string">"tag"</span>))
<span class="py-prompt">>>> </span>serialize(elem) <span class="py-comment"># 1.3</span>
<span class="py-output">'<ns0:tag xmlns:ns0="uri"/>'</span></pre>
</blockquote>
<p># ns/attribute order ...</p>
<p>## 2) decorated attributes</p>
<p>## >>> elem.clear()
## >>> elem.attrib["{uri}key"] = "value"
## >>> serialize(elem) # 2.1
## '<ns0:tag ns0:key="value" xmlns:ns0="uri"/>'</p>
<p>## >>> elem.clear()
## >>> elem.attrib[ElementTree.QName("{uri}key")] = "value"
## >>> serialize(elem) # 2.2
## '<ns0:tag ns0:key="value" xmlns:ns0="uri"/>'</p>
<p>## 3) decorated values are not converted by default, but the
## QName wrapper can be used for values</p>
<p>## >>> elem.clear()
## >>> elem.attrib["{uri}key"] = "{uri}value"
## >>> serialize(elem) # 3.1
## '<ns0:tag ns0:key="{uri}value" xmlns:ns0="uri"/>'</p>
<p>## >>> elem.clear()
## >>> elem.attrib["{uri}key"] = ElementTree.QName("{uri}value")
## >>> serialize(elem) # 3.2
## '<ns0:tag ns0:key="ns0:value" xmlns:ns0="uri"/>'</p>
<p>## >>> elem.clear()
## >>> subelem = ElementTree.Element("tag")
## >>> subelem.attrib["{uri1}key"] = ElementTree.QName("{uri2}value")
## >>> elem.append(subelem)
## >>> elem.append(subelem)
## >>> serialize(elem) # 3.3
## '<ns0:tag xmlns:ns0="uri"><tag ns1:key="ns2:value" xmlns:ns1="uri1" xmlns:ns2="uri2"/><tag ns1:key="ns2:value" xmlns:ns1="uri1" xmlns:ns2="uri2"/></ns0:tag>'</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="xinclude"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">xinclude</span>()</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="lxml.tests.selftest-pysrc.html#xinclude">source code</a></span>
</td>
</tr></table>
<blockquote>
<p>Basic inclusion example (XInclude C.1)</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>document = xinclude_loader(<span class="py-string">"C1.xml"</span>)
<span class="py-prompt">>>> </span>ElementInclude.include(document, xinclude_loader)
<span class="py-prompt">>>> </span><span class="py-keyword">print</span>(serialize(document)) <span class="py-comment"># C1</span>
<span class="py-output"><document></span>
<span class="py-output"> <p>120 Mz is adequate for an average home user.</p></span>
<span class="py-output"> <disclaimer></span>
<span class="py-output"> <p>The opinions represented herein represent those of the individual</span>
<span class="py-output"> and should not be interpreted as official policy endorsed by this</span>
<span class="py-output"> organization.</p></span>
<span class="py-output"></disclaimer></span>
<span class="py-output"></document></span></pre>
<p>Textual inclusion example (XInclude C.2)</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>document = xinclude_loader(<span class="py-string">"C2.xml"</span>)
<span class="py-prompt">>>> </span>ElementInclude.include(document, xinclude_loader)
<span class="py-prompt">>>> </span><span class="py-keyword">print</span>(serialize(document)) <span class="py-comment"># C2</span>
<span class="py-output"><document></span>
<span class="py-output"> <p>This document has been accessed</span>
<span class="py-output"> 324387 times.</p></span>
<span class="py-output"></document></span></pre>
<p>Textual inclusion of XML example (XInclude C.3)</p>
<pre class="py-doctest">
<span class="py-prompt">>>> </span>document = xinclude_loader(<span class="py-string">"C3.xml"</span>)
<span class="py-prompt">>>> </span>ElementInclude.include(document, xinclude_loader)
<span class="py-prompt">>>> </span><span class="py-keyword">print</span>(serialize(document)) <span class="py-comment"># C3</span>
<span class="py-output"><document></span>
<span class="py-output"> <p>The following is the source of the "data.xml" resource:</p></span>
<span class="py-output"> <example>&lt;?xml version='1.0'?&gt;</span>
<span class="py-output">&lt;data&gt;</span>
<span class="py-output"> &lt;item&gt;&lt;![CDATA[Brooks &amp; Shields]]&gt;&lt;/item&gt;</span>
<span class="py-output">&lt;/data&gt;</span>
<span class="py-output"></example></span>
<span class="py-output"></document></span></pre>
</blockquote>
<p>## Fallback example (XInclude C.5)
## Note! Fallback support is not yet implemented</p>
<p>## >>> document = xinclude_loader("C5.xml")
## >>> ElementInclude.include(document, xinclude_loader)
## Traceback (most recent call last):
## IOError: resource not found
## >>> # print(serialize(document)) # C5</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-VariablesDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="SAMPLE_XML"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">SAMPLE_XML</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
ElementTree.XML("""
<body>
<tag class='a'>text</tag>
<tag class='b' />
<section>
<tag class='b' id='inner'>subtext</tag>
</section>
</body>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="ENTITY_XML"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">ENTITY_XML</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'''</code><code class="variable-string"><!DOCTYPE points [</code>
<code class="variable-string"><!ENTITY % user-entities SYSTEM \'user-entities.xml\'></code>
<code class="variable-string">%user-entities;</code>
<code class="variable-string">]></code>
<code class="variable-string"><document>&entity;</document></code>
<code class="variable-string"></code><code class="variable-quote">'''</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="XINCLUDE"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">XINCLUDE</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">C1.xml</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'''</code><code class="variable-string"><?xml version=\'1.0\'?></code>
<code class="variable-string"><document xmlns:xi="http://www.w3.org/2001/XInclude"></code>
<code class="variable-string"> <p>120 Mz is adequate for an average home user.</p></code>
<code class="variable-string"> <xi:include href="disclaimer.xml"/></code>
<code class="variable-string"></document></code>
<code class="variable-string"></code><code class="variable-quote">'''</code><code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">C2.xml</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'''</code><code class="variable-string"><?xml version=\'1.0\'?></code>
<code class="variable-string"><document xmlns:xi="http://www.w3.org/2001/XInclude"></code>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th> <a
href="lxml-module.html">Home</a> </th>
<!-- Tree link -->
<th> <a
href="module-tree.html">Trees</a> </th>
<!-- Index link -->
<th> <a
href="identifier-index.html">Indices</a> </th>
<!-- Help link -->
<th> <a
href="help.html">Help</a> </th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
><a class="navbar" target="_top" href="/">lxml API</a></th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1
on Wed Jun 27 16:05:05 2018
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>